大型下载的 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 小时,以进行非常大的传输。