我想从ftp网站下载一长串文件。我使用python执行下载,并使用多处理模块同时下载4个左右的文件。我希望使用多个处理器的文件下载速度比仅使用一个线程要快。使用多处理执行多个下载命令有什么好处?或者一个线程会填满下载带宽吗?
答案 0 :(得分:1)
一个线程可能会使您的带宽饱和。您可能还是想尝试一下:它可能是FTP服务器限制其输出每个连接,并且通过多个连接可以使用更多的资源。
答案 1 :(得分:0)
对于其他感兴趣的人,我进行了这个简单的测试:
使用python的多处理模块和ftp.retrbinary(两次单独下载尝试显示的时间)从FTP站点下载18个文件,每个文件大约114MB;
下载1台处理器的时间:14分钟,7.2分钟
下载2台处理器的时间:4.0分钟,3.8分钟
使用3个处理器下载时间:2.5分钟,4.0分钟
使用4个处理器下载时间:6.0分钟,2.3分钟
下载速度受到其他几个因素的影响,但在这个小样本中,添加一些处理器会减少下载多个文件所需的时间。