大型下载的 wget 性能,为什么在开始下载之前需要这么长时间?
wget performance for large downloads, and why does it take so long before it starts downloading?
我将使用 wget 从服务器下载大量数据(约 50-100 GB,几千个文件)。这将是相当时间紧迫的,所以我想问几个关于性能的问题。
1) 运行 wget时,似乎有一个很长的初始阶段没有下载发生,然后突然开始。这个阶段似乎明显比实际下载要长。 wget 进程开始时会发生什么,有没有办法加快它的速度?
在此阶段没有网络 activity 并且 wget 在 top
上似乎不是很活跃。它可能与 wget 的 -erobots=off
选项有关吗?
2) 我要下载的文件结构是这样的:
.../main_dir/
000001/
file1
file2
...
000002/
...
...
与 main_dir
共包含约 50-100GB。但是,如果我尝试使用如下命令递归下载 main_dir
:
wget -q -nH --cut-dirs=6 -r --level=7 -l0 -c -N -np -R 'index*' -erobots=off https:.../main_dir/
它不起作用(它只是挂在那里)。那是因为单个 wget 命令获取的文件有大小限制吗?因为如果 main_dir
包含大约 ~10GB,则相同的命令有效。
此外,在尝试从服务器下载 100GB 时是否有替代方法或任何特殊技巧?
如果有人仍在寻找此问题的答案,以下是我从那时起学到的东西。开始确实有一个缓慢的索引步骤,可以通过使用 lftp
和镜像站点来避免:
lftp -e "mirror path/to/dir/; quit" site.url
这要快得多,并且还支持多流下载(请参阅文档),这最终将我的下载时间从大约 12-24 小时减少到大约 1 小时,以进行非常大的传输。
我将使用 wget 从服务器下载大量数据(约 50-100 GB,几千个文件)。这将是相当时间紧迫的,所以我想问几个关于性能的问题。
1) 运行 wget时,似乎有一个很长的初始阶段没有下载发生,然后突然开始。这个阶段似乎明显比实际下载要长。 wget 进程开始时会发生什么,有没有办法加快它的速度?
在此阶段没有网络 activity 并且 wget 在 top
上似乎不是很活跃。它可能与 wget 的 -erobots=off
选项有关吗?
2) 我要下载的文件结构是这样的:
.../main_dir/
000001/
file1
file2
...
000002/
...
...
与 main_dir
共包含约 50-100GB。但是,如果我尝试使用如下命令递归下载 main_dir
:
wget -q -nH --cut-dirs=6 -r --level=7 -l0 -c -N -np -R 'index*' -erobots=off https:.../main_dir/
它不起作用(它只是挂在那里)。那是因为单个 wget 命令获取的文件有大小限制吗?因为如果 main_dir
包含大约 ~10GB,则相同的命令有效。
此外,在尝试从服务器下载 100GB 时是否有替代方法或任何特殊技巧?
如果有人仍在寻找此问题的答案,以下是我从那时起学到的东西。开始确实有一个缓慢的索引步骤,可以通过使用 lftp
和镜像站点来避免:
lftp -e "mirror path/to/dir/; quit" site.url
这要快得多,并且还支持多流下载(请参阅文档),这最终将我的下载时间从大约 12-24 小时减少到大约 1 小时,以进行非常大的传输。