Sometimes there's a need to download multiple files from somewhere. The protocol I'm specifically interested in is HTTP, however this question is also relevant to FTP or any other non-P2P protocol for transferring files.

Assuming the server (for example, Rapidshare) has unlimited bandwidth (relative to the client), and the client has a standard internet connection of X Mb/s, will it be faster to download multiple files at the same time (how many?) or download them as a queue, one after the other?

Which parameters will change your answer? Will it be different for different internet connection speeds? What about home/work LAN?

  • A small note - It seems as if I'm downloading several files simultaneously, they're "fighting" over their bandwidth cut of my internet connection. Not sure if it's bad. Nov 22 '11 at 23:51
  • too many factors like how fast your hard drive is, what browser, how many files you are simultaneously downloading, upload and download bandwidth, OS etc, its a broad question. Generally it will be faster to the point of which bottleneck you hit first.
    – Moab
    Nov 22 '11 at 23:53

It depends on what the rate-limiting factor is. Most of the time, the end-user's Internet bandwidth is the limiting factor, and then it doesn't matter. But if, for example, the limiting factor is competing with other traffic, then more streams will tend to get a larger share of that traffic. If the limiting factor is packet loss, then more streams may be a bit more resistant (as a drop on one stream won't affect traffic on the others).

  • Don't forget to mention TCP setup/teardown costs and HTTP/1.1 persistent connections. And since the questioner included other file transfer protocols, one could also mention multiple transaction pipelining and windowing with reference to YMODEM-G, SEALink, and ZMODEM. The lessons to learn are still valid, given that those protocols were designed to run (best) with reliable sequenced byte streams as the underlying transports.
    – JdeBP
    Nov 23 '11 at 13:15
  • 1
    Was hoping for some kind of a rule of thmub, but I guess there isn't one. thanks. Nov 27 '11 at 12:31

I have Firefox browser with Down Them All extension, running in Ubuntu. Every additional file download increases the average speed and decreases the total time to completion. Six simultaneous downloads of roughly the same size can complete in 1/6 the elapsed time of a single download, if they all complete within a few seconds of each other. If 5 of them finish at 3 minutes, and 1 is not yet finished, the time to completion of that 1 will increase rapidly to as much as 20 minutes. I have found that repeatedly running an internet speed test at the same time as a single download will greatly decrease the time it takes to complete that download.

  • Seriously? If you download six files at once, the total time is not 6× the time of a single download, not 5× as much, but less than the duration of a single download? And not just that, but 1/6 the elapsed time of a single download? What planet did you get your computer on?
    – Scott
    Nov 7 '17 at 6:09
  • It's a pretty old Sony Vaio laptop from 2008. The Carter Center in Atlanta sold it off as surplus when its battery bit the dust, and then when XP gave up the ghost, I put in Ubuntu. I don't understand my computer's behavior, but I'm glad it still works. I just wish that single downloads would work as well as multiples.
    – rjeff
    Nov 8 '17 at 15:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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