私の出発点はこの問題。現在、aria2はファイルをダウンロードしていますが、予想ほど高速ではありません。 (私はi7、ギガビット接続、AC-wifiを搭載したMacbook Proで実行しています。チェーンのリンクは最大化しません。)
このスイッチにはaria2を使用します
-x 16 -s 1
ファイルが小さいため、ダウンロードするたびに複数のソケット(-s 1)を開く理由はありません。しかし、複数のファイルを並列にダウンロードすると(-x 16.16が最大値です。そうですか?)、全体の速度が速くなりますか?
しかし、出力ログを読んでみると、ダウンロードが並列に進まないようです。 ariaの使い方について何か抜けましたか?
それとも、ボトルネックのあるariaにURLを供給していますか? (私はfind . -tfを使用してから、結果を使用して文字列接続を介してariaに供給されたURLを作成します)?
答え1
aria2c
単一のダウンロードのみを転送し、ファイルが小さい場合は、複数の接続を開いても大きな助けにはなりません。ただし、複数のaria2c
コマンドを並列に簡単に実行できます。xargs -P <num>
値がサーバーが許可するものより大きくないことを確認してください-P
。それ以外の場合、サーバーはエラーを返します。
find . -type f -printf '%P\n' \
| xargs -I{} -P6 aria2c -x 1 -s 1 "https://web.archive.org/save/https://{}"
または、xargs
すべてのURLを1つのaria2c
呼び出しに追加します。
find . -type f -exec 'https://web.archive.org/save/https://%P\n' \
| xargs aria2c -x 16 -s 1
find
しかし、私の考えに最適なオプションは、パイプaria2
とxargs
。
aria2c -x 16 -s 1 -i <(find . -type f -printf 'https://web.archive.org/save/https://%P\n')