Windows での同時 HTTP リクエストの制限
問題:
アプリケーションが複数のリクエストを作成しようとしていますスレッド プーリングを使用しているにもかかわらず、HTTP リクエストを並列処理するとパフォーマンスの制限が発生します。調査の結果、Windows が接続制限を課している可能性があることが示唆されています。
レジストリ構成:
許可される同時接続数を増やすために、レジストリ値 MaxConnectionsPerServer および MaxConnectionsPer1_0Server を調整しようとしました。ただし、この構成変更によってパフォーマンスは向上しませんでした。
解決策:
実際の制限要因は、HTTP 接続の管理を担当する ServicePoint クラスにあります。デフォルトでは、ServicePoint は最大 2 つの同時接続を許可します。これは、ServicePointManager.DefaultConnectionLimit プロパティを設定することでオーバーライドできます。
コード サンプル:
// Set the maximum number of concurrent connections allowed per ServicePoint ServicePointManager.DefaultConnectionLimit = 20;
このプロパティを調整することで、アプリケーションはより多くの同時接続に対応できます。 HTTP リクエストによりスループットが向上します。
以上がWindows で同時 HTTP リクエストが制限されているのはなぜですか? 制限を増やすにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。