1

Win 2003 サーバー .Net 4.0 および IIS 6.0 で Web サイトを実行しています。この Web サイトは、他のいくつかのサーバーに対して多くの Web サービス要求を行います。これらのリクエストでタイムアウトの問題が発生しています。

サーバーからのダンプでデバッグ診断ツールを使用することにより、リクエストが接続を待っているように見えることを確認しました-相手側が応答するのではありません:

XXXXXXXX-app-pool 内の次のスレッドは HttpWebRequest を作成しようとしていますが、リモート サーバーでの応答を待機していないようです (たとえば、「通信中」ではありません)。これらの要求の 1 つ以上が、使用可能な接続の最大数を超えています。*

HttpRequest URI: http://certainserver.somwhere.com/certainwebservice.asmx ServicePoint - ConnectionLimit:24 CurrentConnections:24

けっこうだ。では、接続プールは実際にどのように機能するのでしょうか? なぜ今、この問題が発生しているのでしょうか? コードベースはほとんど変更されていません - サーバーインフラストラクチャが変更されました - サーバーが増えました。

この接続プールは、SQL 接続が使用する接続プールと同じですか?

「新しい」接続はいつ選択されますか?

「既存の」接続でリクエストがキューに入れられるのはいつですか? 彼らは今までにいますか?

Web サイトの特定のページが、フロント ページを表示するために 2 つの異なる Web サービスを呼び出す必要がある場合、いくつの接続が使用されるでしょうか? 二?2 つの Web サービスが同じサーバー上にあるか、異なるサーバー上にあるかは重要ですか?

ほぼ同時に 5 人の訪問者がいる場合はどうなりますか? 2 x 5 接続を使用しようとしますか、それとも「一意の」Web サービスに対して 1 つの接続を使用しますか?

非常に多くの種類の接続があり、接続プールの問題に関するほとんどの一致は通常、Web サービス要求ではなく SQL 接続に関するものであるため、これを検索するのは難しいと思います。

Web サーバーには 2 つのコアがあり、最大接続数は 24 です (デフォルト設定は 12 pr コア)。

4

0 に答える 0