Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http 如何通过多线程最大化下载吞吐量_Http_Networking_Optimization_Download_Web Crawler - Fatal编程技术网

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

Http 如何通过多线程最大化下载吞吐量,http,networking,optimization,download,web-crawler,Http,Networking,Optimization,Download,Web Crawler,我使用多线程来加速从Web下载大量文件的过程 如何确定应该使用多少线程来最大化或接近最大化总下载吞吐量 附言: 我使用自己的笔记本电脑,带宽为1Mb 我想要的数据是coursera.com的网页源代码如果你想加快从网络下载文件的速度,除了线程的数量,还有很多因素。事实上,我不相信你能做到这一点,除非你有一些没有描述的限制(比如服务器端每个连接的最大带宽,你有多链接客户端,你可以使用不同的链接下载不同的数据,你想从不同的服务器下载不同的部分,或者类似的) 在通常情况下,让多个线程下载某些内容会减慢

我使用多线程来加速从Web下载大量文件的过程

如何确定应该使用多少线程来最大化或接近最大化总下载吞吐量

附言:

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


我想要的数据是coursera.com的网页源代码

如果你想加快从网络下载文件的速度,除了线程的数量,还有很多因素。事实上,我不相信你能做到这一点,除非你有一些没有描述的限制(比如服务器端每个连接的最大带宽,你有多链接客户端,你可以使用不同的链接下载不同的数据,你想从不同的服务器下载不同的部分,或者类似的)

在通常情况下,让多个线程下载某些内容会减慢进程。您需要保持两个连接并以某种方式同步数据(如果您同时下载不同的文件除外)


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

告诉我们有关您所处环境的更多信息。这个多线程代码是否在高带宽的服务器机房中运行?在任意客户端计算机上?数据来自哪里,服务器端有哪些可用资源?