0

I have a 100 megabyte (MB) file, and I have a 30 megabit/s (Mb) dedicated bandwidth speed on my server.

How many people could download this file at the same time, with acceptable speeds?

What megabit/s do you recommend for moderate-to-high traffic (approximately 200 simultaneous users at peak times)?

4
  • This question lack details. You should tell us the amount of visitors you are expecting. How many simultaneous visits? Even a 5 mbps will suffice if traffic is low. Dec 30, 2011 at 19:01
  • At peaks, I expect something like 200 people downloading simultaneously.
    – Hope4You
    Dec 30, 2011 at 19:04
  • 1
    ((30Mbps)/(200 users)/(8b/B))*(1024kB/MB)= 19.2kBps/user - probably not acceptable. For any large file size, the size is arguably irrelevant to the speed. Choose an 'acceptable speed' and multiply by your number of users (and then add some extra) and you'll have your estimate. (e.g. 200 x 100kBps = 150Mbps; 200 x 500kBps = 800Mbps, etc).
    – cyberx86
    Dec 30, 2011 at 19:18
  • Please define moderate-to-high traffic? Dec 30, 2011 at 20:02

3 Answers 3

4

Well 100 Megabytes equates to 800 Megabits. Simple crude calculation says for one user it would take 26.666 seconds (ignoring any overhead for protocol and any bandwidth used by the server for any other purpose). In reality it will take a tiny bit longer, but the precise figure would be dependant on a few issues such as MTU at the other end, quality of line causing retransmissions, and whether the server may be using the connection for a purpose other than serving your file so I wouldn't bother getting that precise with the calculation.

Assuming the file is being served from a server which either has a decent RAID setup, is capable of caching the file or if you have a proxy such as squid caching the file (basically assuming your hd thrashing isn't an issue), you could simply multiply that 26.66 figure by number of users so:

1 User : 26.66 secs,
5 Users : 133.33 secs,
10 Users : 266.66 secs,
25 Users : 666.66 secs,
50 Users : 1333.33 secs,
100 Users : 2666.66 secs,
250 Users : 6666.66 secs,
500 Users : 13333.33 secs,
1000 Users : 26666.66 secs.

If you wish to adjust these numbers to figure out how much quicker it would be with more bandwidth, just use the relevant ratio to scale - e.g. these calcs are based on your 30Mb connection. e.g. If you could get it upgraded to 50MB, divide my numbers by 3 then multiply by 5.

You haven't mentioned the expected number of users, and ultimately you need to decide what is and isn't acceptable as we cannot decide that for you as you will have to trade off the cost of the connection vs the speed increase.

3

I have a 100 megabyte (MB) file, and I have a 30 megabit/s (Mb) dedicated bandwidth speed on my server.

That's a 838,860,800 bit file being consumed by a 30,000,000 bit per second line. Theoretical maximum speeds say that you will be able to transfer that file in one stream in 28 seconds.

How many people could download this file at the same time

Millions

with acceptable speeds?

Four? Five?

What megabit/s do you recommend for moderate-to-high traffic?

One MEEEE-lion megabits.


We cannot help you scale. We can only give you numbers. You take the numbers and make your own value judgements.

2

How much bandwidth required really depends on the experience you find acceptable, and how many users you want to service. If you are worried about bandiwdth consider using a CDN. Your simple calculation is 800 megabits which based on your current bandwidth is about 28 seconds for 1 user, and you can mutiply that out for more scalability references.

5
  • +1 for a CDN. Amazon CloudFront would work nicely for this.
    – ceejayoz
    Dec 30, 2011 at 20:53
  • amazon, microsoft, google, pretty much everyone offers one nowadays
    – Jim B
    Jan 1, 2012 at 17:27
  • I don't think Google has a publicly available CDN solution yet. They have their hosted Page Speed DNS beta but it's invite only.
    – ceejayoz
    Jan 1, 2012 at 17:32
  • I believe its google.load() - but I'm no google expert
    – Jim B
    Jan 1, 2012 at 17:38
  • 1
    That's a CDN for a couple selected JavaScript libraries (jQuery, Dojo, etc.). You can't host your own stuff there.
    – ceejayoz
    Jan 1, 2012 at 17:40

Not the answer you're looking for? Browse other questions tagged .