Take the 2-minute tour ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

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).

share|improve this question

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.

add comment

2 Answers 2

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.

3 kilobytes x 100 000 = 292.96875 megabytes

Now let's see that in megabits

292.96875 megabytes = 2343.75 megabits

Now let's work this out in Gigabytes

2343.75 megabits = 2.28881836 gigabit

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..

  • Use a CDN which is more than capable of sending 3gbits
  • Use a dedicated server with a 10gbit or mutliple 1gbit NIC's.
  • Multiple VPS servers running on 1gbit but you'd need to ensure that speed is not shared.

Conclusion

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.

share|improve this answer
    
If it is indeed a single static file being served, disk speed won't factor in. The web server should be able to cache the entire thing in memory if it is properly configured. –  Stephen Ostermiller Mar 20 '13 at 18:39
    
Absolutely Good Point! BRB Editing :P –  bybe Mar 20 '13 at 20:46
add comment

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.

share|improve this answer
    
You need more bandwidth than 25mb/sec –  bybe Mar 20 '13 at 18:16
    
Did I do the calculation wrong, or you saying that you would need to plan for additional capacity? –  Stephen Ostermiller Mar 20 '13 at 18:19
    
See my math in my answer... Mike please note that Stephen should be marked correct if you decide him or me in this situation as I've stole his answer but offered a math break down :P –  bybe Mar 20 '13 at 18:28
    
I corrected my math, thanks bybe. –  Stephen Ostermiller Mar 20 '13 at 18:41
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.