This question already has an answer here:

I am planning to run a website that host big files (around 200mb total is 2TB of files), I want to run a website that support multiple user downloading such file, I estimate there will be 100 user simultaneously downloading, for not letting down the user, I estimate that each user will get approximately 30Kb-200Kb of speed for downloading.

In above scenario, what kind of requirements I need? Like hardware, internet connection and OS and software? I plan to host it using linux+php, 1. How many servers will it take? Is 1 enough? 2. What is the server spec? 3. How much speed should I subscribe? 4. I know only basic php, can you help me to list out PHP/other software that can limit sending bandwidth to user (trying to be fair to user and care for server), and also PHP/other software that can send out file with ability to disable download resume, cookie/session generated link (temporarily link that will be invalid in a period of time), IP checking, etc. 5. Any idea where is cheap dedicated server hosting?

If I were to use windows server, do you think it will have better/same performance with linux? because from what I know, usually those successful sites that serve big files are usually in linux?

Please guide me to run my own dedicated web server.

marked as duplicate by Michael Hampton, Ward, mdpc, EEAA, Khaled Feb 9 '13 at 8:13

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 2
    This is a whole lot of stuff you're asking for. I recommend you split up your question and re-post them - most maybe better on Serverfault than here. – Pekka 웃 Dec 14 '10 at 15:20

100 x 200Kb = 20Mb of traffic - basically any modern server will handle this little amount of traffic. The bigger problem is having a consistent 20Mb of outgoing bandwidth, but it depends on what your external network is - 20Mb is a lot for a broadband network but not if you're putting this server into a proper hosting site where you're likely to get one or more 100Mbps or 1Gbps ethernet links. If you only expect to have 100 users I wouldn't bother trying to rate limit them to be honest.

As for server spec, a dual/quad-CPU box with 4GB (or even less) of memory would be fine, plus your 2TB of disk of course, which I'd be tempted to mirror/R1/R10. At this low level of requirement you won't see any real difference between Windows and Linux, pick the one you know best.

Have you thought about backup?


Like Chopper3 says, your point of contention is not the server but the Internet link. Careful to be clear about the difference between kBps or MBps and kbps or Mbps. Bps = Byte-per-second, bps = bit-per-second, k = kilo, M = Mega.

While we typically measure file sizes in bytes, we typically measure bandwidth in bits per second.

For 20MBps you must have a 200Mbps link. No residential link that I know of will give you this at this day (unless you're one of the lucky few that's wired with fiber already). This is generally only available on LANs (1Gbps), or as a hosted service with specified service level (watch the small print).

So you need to think hard about your requirement for bandwidth and check the cost of such a service in a hosted center.

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