有时需要从某个地方下载多个文件。我特别感兴趣的协议是 HTTP,但这个问题也与 FTP 或任何其他用于传输文件的非 P2P 协议有关。
假设服务器(例如,Rapidshare)具有无限带宽(相对于客户端),并且客户端具有 X Mb/s 的标准互联网连接,那么同时下载多个文件(多少个?)或以队列形式一个接一个地下载会更快吗?
哪些参数会改变您的答案?不同的互联网连接速度会有所不同吗?家庭/工作局域网呢?
答案1
这取决于速率限制因素是什么。大多数情况下,最终用户的互联网带宽是限制因素,那么这并不重要。但是,例如,如果限制因素是与其他流量竞争,那么更多的流将倾向于获得该流量的更大份额。如果限制因素是数据包丢失,那么更多的流可能会更具抵抗力(因为一个流的丢失不会影响其他流的流量)。
答案2
我在 Ubuntu 中运行带有 Down Them All 扩展的 Firefox 浏览器。每次额外下载文件都会增加平均速度并减少总完成时间。如果六个同时下载的文件大小大致相同,并且它们都在几秒钟内完成,则它们可以在单个下载所用时间的 1/6 内完成。如果其中 5 个在 3 分钟内完成,而 1 个尚未完成,则完成该下载的时间将迅速增加到 20 分钟。我发现在单个下载的同时反复运行互联网速度测试将大大减少完成该下载所需的时间。