0

マルチスレッドを使用して、Web から多数のファイルをダウンロードするプロセスを高速化しています。

合計ダウンロード スループットを最大化またはほぼ最大化するために使用する必要があるスレッドの数をどのように判断すればよいですか?

PS:

私は自分のラップトップを使用しており、帯域幅は 1Mb です。

私が欲しいデータは、 coursera.comの Web ページのソース コードです。

4

1 に答える 1

1

ネットワークからのファイルのダウンロードを高速化するには、スレッド数だけでなく、さらに多くの要因があります。実際には、説明していないいくつかの制限があることを期待してこれを達成するとは思いません (サーバー側の接続あたりの最大帯域幅など、マルチリンククライアントがあり、さまざまなリンクを使用してさまざまなデータをダウンロードできます。別のサーバーから別のパーツをダウンロードするなど)。

通常、複数のスレッドで何かをダウンロードすると、プロセスが遅くなります。いくつかの接続を維持し、何らかの方法でデータを同期する必要があります (たとえば、異なるファイルを同時にダウンロードする場合を想定してください)。

「通常の」条件では、はるかに大きな制限が帯域幅制限であるため、より多くのスレッドを使用してもダウンロードは速くなりません。この場合、帯域幅全体を多くの接続に共有します。

于 2012-11-20T09:36:54.693 に答える