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コンテンツ エンコーディングを処理するかどうか思い出せません。もしそうなら、これはパフォーマンスの向上を説明するかもしれません. もう 1 つの可能性は、パイプラインのどこかに HTTP キャッシュがあることです。次のようなものを試すことができます

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

これを FTP ベースの転送時間と比較します。

于 2010-05-03T22:11:19.630 に答える