如何通过多线程最大化下载吞吐量

时间:2012-11-20 01:14:50

标签: http networking optimization download web-crawler

我正在使用多线程来加速从网上下载大量文件的过程。

我如何确定应该使用多少线程来最大化或几乎最大化总下载吞吐量?

PS:

我正在使用自己的笔记本电脑,带宽为1Mb。

我想要的数据是 coursera.com

的网页源代码

1 个答案:

答案 0 :(得分:1)

如果您想加速从网络下载文件,那么除了线程数之外还有更多因素。实际上我不相信你会实现这个期望有一些你没有描述的限制(比如服务器端的每个连接的最大带宽,你有多链路客户端,你可以使用不同的链接做下载不同的数据,你想要从不同的服务器或类似服务器下载不同的部件。)

在通常的情况下,有多个线程下载的东西会减慢进程。您将需要保持几个连接并以某种方式同步数据(期望您将同时下载例如不同的文件)。

我会说在“普通”条件下,更大的限制是您的带宽限制,因此使用更多线程不会使下载速度更快。在这种情况下,您将分享整个带宽到多个连接。