2011-07-10 17 views
2

HttpWebRequestを使用していくつかのデータを並行してダウンロードしようとしています。それを行うために、私はいくつかのスレッドを開始します。しかし、非常に高い帯域幅にもかかわらず、スレッド数が4を超えると、実効ダウンロード速度が低下することに気付きました。複数のプロセスを使用すると、問題はなくなります。スレッド数が増えるとHttpWebRequestが遅くなります

1つのプロセスでダウンロード速度を改善するにはどうすればよいですか?

よろしく、 RSuthke

+0

専用スレッドまたはスレッドプールを使用していますか? – BrokenGlass

+0

すべてのリクエストを同じサーバーにしていますか? – dtb

+0

私は専用スレッドを使用しており、すべての要求を同じサーバーに行います。 – RSuthke

答えて

0

あなたがコアよりも多くのスレッドを持っているときはいつでも、あなたが中断しているスレッドを持っているつもりです。スレッドの切り替えはパフォーマンスを低下させます。私はTPL(あなたが.Net 4.0を使用していると仮定します)またはスレッドプールを使ってみようと思います。

+0

ファイルをダウンロードするのはCPUを大量に消費する作業ではないため、スレッドの切り替えはパフォーマンスに影響しません。 – svick

+0

それだけです。完璧。 – RSuthke

関連する問題