The bottleneck isn’t the CPU on anything resembling a modern system. On mine, the storagenode process wants 5% CPU if it’s busy, and that’s on a 4-core 2GHz Xeon.
More interesting is the disk speed and the network bandwidth. You don’t earn money when the client already has their file when you get around to serving your chunk AFAIK. Thus you should have enough RAM to keep the “hot” parts of the database in core and a quick disk to load the files.
Thus I would allocate 200 MHz of CPU plus 200 MByte of RAM for each TByte served. External bandwidth can’t be high enough. My system has reasonably fast disks and 10GBit all the way, but I still get lots of cancelled uploads – a tenth of a second after they’re started.