I was wondering if anyone could provide some insight into the approximate server requirements (CPU, RAM, etc) for thousands of concurrent connections to a small text file. The actual number of concurrent connections will vary, but it could be as high as 100,000 or more per second at times. The file that will be accessed is a very small text file (a few KB).
closed as too localized by Su', John Conde♦ Mar 25 '13 at 11:42
This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.
Assuming your file is 3kb then for every 1,000 visitor you need to be able to handle the server to be able to send out 2.92 megabytes which is equal to 23.36 megabits.
Now let's work this out for 100,000 visitors all at once.
Now let's see that in megabits
Now let's work this out in Gigabytes
But this is just sending the data - this doesn't include the overheads in negotiating the data transfer which is impossible to work out without knowledge on which hardware your using as well as software but its safe to say this won't be more than 700mbit - so to the conclusion your connection speed for each 1kb file size at 100,000 visitors is 1gbit (includes overheads).
So you have several options..
Same as Steve Suggested go CDN but let's also take into account that most web pages load at 2.5secs to 3secs you could actually get away with 1gbit connection but people would need to wait 3secs - 4secs on the load... and the server will be running flat out.
Also... You need to ensure that if using a VPS, or Dedicated that the hardware is fully capable of achieving the 1gbit output.
Forget CPU and RAM, that won't be your problem. You will never find a single server that can handle the bandwidth for that. If your text file is 3KB (kilobytes), then you are looking at more than 2,000Mb/s (megabits per second) of data transfer to service 100,000 requests each second.
You will need to put this file on a content delivery network (CDN) that uses DNS to spread the load to many servers and speeds delivery by using servers that are close to each user.