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?

link|improve this question
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. – yellowblood 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
feedback

1 Answer

up vote 1 down vote accepted

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

link|improve this answer
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
Was hoping for some kind of a rule of thmub, but I guess there isn't one. thanks. – yellowblood Nov 27 '11 at 12:31
feedback

Your Answer

 
or
required, but never shown

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