如何使用wget更快地下载1300万个小文件?

时间:2016-02-02 12:35:36

标签: http download wget

我的文件列表总共有1300万个文件,大约140GB。 注意:需要维护目录结构。每个文件大约100KB-2MB。

我使用wget -x -i file_list.txt

这是工作,但太慢了。

注意:所有文件列表中都是url。

我的服务器有100M带宽,应该获得10M / s的速度。 但wget -x -i file_list.txt只给我1M / s。

如何解决?

3 个答案:

答案 0 :(得分:1)

您可以使用并行命令:

parallel -a websites.txt --jobs 20 'wget -x'

用-a读取文件中的每一行, - jobs说明要并行运行多少行,wget将以文件的下一行为后缀。

答案 1 :(得分:1)

您可以使用以下标志同时多次启动wget:

wget -x -N -i file_list.txt &
wget -x -N -i file_list.txt &
wget -x -N -i file_list.txt ...

N Flag代表:

-N,  --timestamping              don't re-retrieve files unless newer than

如果您仍遇到问题,可以尝试使用-r / -np:multiple wget -r a site simultaneously?

答案 2 :(得分:0)

您可以通过创建多个wget实例来提高性能。您可以使用for循环执行此操作,但如果远程服务器以1Mbps的速度运行,那么您将以此速度停留。

结帐Parallel wget in Bash,了解有关创建多次下载的详情。