2

複数の HTTP 範囲要求によって大きなファイルを取得する JavaScript ダウンローダーがあります。

xhr.setRequestHeader("Range", "bytes=" + start + "-" + end);

終わりがある間

var end = start + length

ファイル内の特定のオフセットを取得する必要があるため (複数の HTTP サーバーからのダウンロードを考えてください)、範囲要求は必須です。ダウンローダがこの方法を使用して ~100MB のファイルをダウンロードしようとしている場合、良好なスループットを得るための最適な長さはどれくらいですか?

4

1 に答える 1

1

残念ながら、あなたの質問に対する簡単な答えはありません。接続には多くの種類があり、特定の状況では、待ち時間、帯域幅、接続の品質、切断の頻度、さらに複雑なものに応じて、クライアントとサーバーのすべてのペアで答えが異なります。並列接続の数、1 つの要求で転送される最大サイズなどに制限がある場合があります。近くのサーバーへの高速で良好な接続など、特定の種類のシナリオにのみ関心がある場合は、接続オーバーヘッドが通常 10 分の 1 未満であるため、選択する値はそれほど重要ではないと思います。秒の。

また、応答をどうするかにもよります。メモリにロードする場合は、知らないコンピュータからメモリを消費することを考慮してください。また、セグメントのために消費される余分な 16Mb を誰も気にしないと仮定することは大きな仮定です。

于 2012-08-26T02:48:00.130 に答える