为什么HTTP传输通过wget比lftp / pget更快?

时间:2010-05-03 21:38:42

标签: http ftp download wget

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

axel http://example.com/somefile

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

VS。只使用wget:

wget http://example.com/somefile

但有时候,wget明显快于lftp。扼杀,甚至在我用lftp执行get时也是如此:

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

据我所知,通过多个连接下载文件并不总是会导致加速,具体取决于带宽受限的方式。但是:为什么它会变慢?特别是在使用-n 1?

调用lftp / pget时

1 个答案:

答案 0 :(得分:1)

HTTP服务器是否可能使用gzip压缩流?我不记得wget是否处理gzip Content Encoding。如果是这样,那么这可以解释性能提升。另一种可能性是在管道中的某处有一个HTTP缓存。你可以试试像

这样的东西
wget --no-cache --header="Accept-Encoding: identity"

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