我正在构建需要通过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时答案 0 :(得分:1)
HTTP服务器是否可能使用gzip压缩流?我不记得wget是否处理gzip Content Encoding。如果是这样,那么这可以解释性能提升。另一种可能性是在管道中的某处有一个HTTP缓存。你可以试试像
这样的东西wget --no-cache --header="Accept-Encoding: identity"
并将其与基于FTP的传输时间进行比较。