サーバーに 8 GB のファイルがあり、http マルチレンジ リクエストを使用してこのファイルから 1.5 GB をダウンロードしたいと考えています。カールを使用しています。
500MB の大きな範囲を含む最初のリクエストを除いて、すべてのリクエストはファイル上で均一に分散されます (合計 161 のリクエストがあります)。
大きな範囲のこの最初のリクエストのダウンロード時間は約 40 秒、合計時間は約 560 秒であることがわかりました。つまり、500MB を 40 秒間ダウンロードし、1GB を 520 秒間ダウンロードします。したがって、均一に分散されたリクエストの速度が 6 倍になります。また、この均一に分散されたリクエストが実行されると、ダウンロード率が 6 ~ 8 倍に低下することにも気付きました。
なぜこれが起こるのか分かりません。各リクエストの範囲はオフセットの増加によってソートされるため、なぜこのような速度低下が発生するのかわかりません。何がこのような混乱を引き起こすのか説明していただけますか? さらに、そのような一連のリクエストのパフォーマンスを向上させるにはどうすればよいですか?
必要に応じて、一連のリクエストとタイミングを提供できます。