我有一個文件列表總共1300萬個文件,大約140GB。 注意:需要維護目錄結構。每個文件大約爲100KB-2MB。如何使用wget更快下載1300萬個小文件?
我使用wget -x -i file_list.txt
這個工作會,但速度太慢。
注意:所有文件列表中的URL都是。
我的服務器有100M帶寬,應該得到10M/s的速度。 但wget -x -i file_list.txt
只給我1M /秒。
如何解決?
我有一個文件列表總共1300萬個文件,大約140GB。 注意:需要維護目錄結構。每個文件大約爲100KB-2MB。如何使用wget更快下載1300萬個小文件?
我使用wget -x -i file_list.txt
這個工作會,但速度太慢。
注意:所有文件列表中的URL都是。
我的服務器有100M帶寬,應該得到10M/s的速度。 但wget -x -i file_list.txt
只給我1M /秒。
如何解決?
可以使用並行命令:
parallel -a websites.txt --jobs 20 'wget -x'
與-a從文件中讀取每一行,--jobs說有多少並行運行,和wget將由下一行的後綴從文件中。
你可以用下面的標誌同時啓動了wget多次:
wget -x -N -i file_list.txt &
wget -x -N -i file_list.txt &
wget -x -N -i file_list.txt ...
N標誌表示:
-N, --timestamping don't re-retrieve files unless newer than
如果仍然遇到問題,您可以用-r試試吧/ - np:multiple wget -r a site simultaneously?
你可以混合傑森和我的解決方案。像「平行-a websites.txt --jobs 20'wget -x -N'」 – Johannes
您可以通過創建多個wget實例來提高性能。您可以使用for循環來執行此操作,但是如果遠程服務器的服務速率爲1Mbps,那麼您就會以這種速度停留。
結帳Parallel wget in Bash瞭解更多關於創建多個下載的信息。
也許遠程服務器不給你超過1M /秒?一個巴掌拍不響。 –