1

我正在构建需要通过 HTTP 和 FTP 进行大量文件传输的软件。通常,我使用 axel 或带有 pget 的 lftp 等多连接下载加速器获得更快的 HTTP 下载。在某些情况下,我发现文件传输速度提高了 2 到 3 倍,例如:

axel http://example.com/somefile

或者

lftp -e 'pget -n 5 http://example.com/somefile;quit'

与仅使用 wget 相比:

wget http://example.com/somefile

但其他时候,wget 比 lftp 快得多。奇怪的是,即使我使用 get 进行 lftp 也是如此,如下所示:

lftp -e 'pget -n 1 http://example.com/somefile;quit'

我知道通过多个连接下载文件并不总是会导致加速,具体取决于带宽的限制方式。但是:为什么会慢?尤其是在使用 -n 1 调用 lftp/pget 时?

4

1 回答 1

1

HTTP 服务器是否有可能使用 gzip 压缩流?我不记得 wget 是否处理 gzip内容编码。如果是这样,那么这可能解释了性能提升。另一种可能性是管道中某处存在 HTTP 缓存。你可以尝试类似的东西

wget --no-cache --header="Accept-Encoding: identity"

并将其与基于 FTP 的传输时间进行比较。

于 2010-05-03T22:11:19.630 回答