Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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

share|improve this question

closed as not a real question by Chopper3, Shane Madden, Jacob, Sirex, mdpc Dec 30 '11 at 21:29

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

    
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. –  Aditya Patawari Dec 30 '11 at 19:01
    
At peaks, I expect something like 200 people downloading simultaneously. –  Hope4You Dec 30 '11 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 '11 at 19:18
    
Please define moderate-to-high traffic? –  jeffatrackaid Dec 30 '11 at 20:02

3 Answers 3

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.

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer
    
+1 for a CDN. Amazon CloudFront would work nicely for this. –  ceejayoz Dec 30 '11 at 20:53
    
amazon, microsoft, google, pretty much everyone offers one nowadays –  Jim B Jan 1 '12 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 '12 at 17:32
    
I believe its google.load() - but I'm no google expert –  Jim B Jan 1 '12 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 '12 at 17:40

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