lftpを介してリモートサーバーにファイルを並列にダウンロードし、次のコマンドを使用しました。
lftp ftp:*url*
cd into directory
mirror --parallel=10
12のディレクトリに分かれた合計365のファイルをダウンロードしました。このコマンドを使用すると数時間かかりますが、これは大きな問題ではありませんが、並列にダウンロードするファイルが多いほど、速度が速くなると思いました。明らかに、365個のファイルをすべて並列にダウンロードすると、システムに過負荷がかかると予想されるため、収益が減少する点が必要です。 (各ファイルあたり1GBが少し以上です)。また、並列にダウンロードするファイル数を増やすと、waiting to reconnect....trying in 30s
システムに過度の負担を与えていると信じるため、ますます多くのメッセージなどを受け取ることになります。
ファイルを並列にダウンロードする効率的な方法に関するアイデアを持っている人はいますか?事前にありがとう
ベストアンサー1
並列実行が多いほど、送信者への負荷が大きくなります。
サーバーに1000個のTCP接続があり、帯域幅が制限されている場合、1つの接続があるとサーバー帯域幅の0.1%が得られます。
10個の接続があると、サーバー帯域幅の1%が得られます。
一般的に私のアドバイスは次のとおりです。
- 急いでいない場合:単一の接続を使用してください
- サーバーを制御すれば、必要なものは何でもできます
- 忙しくてサーバーを制御できない場合は注意してください。一部は問題なく数千の並列要求を受け入れます。他の人は100でブロックされます。 10の追加の並列要求を追加すると、サーバーに負担をかけることができます。
あなたの場合、最初の状況にあるようです。急いではないので、単一の接続を使用する必要があります。 「接続が拒否されました」は、サーバーの過負荷を示す信号でもあります。複数の接続を使用する場合は、サーバーを所有している人に連絡することをお勧めします。