2

これが私の状況です:

LAN に Web およびデータベース サーバー (SQL Server 2005) があります。

Web サーバー (iis6) にはいくつかのアプリケーション プールがあり、サイトは asp.net セッション インプロセスで正常に動作します。両方のサーバーで win 2k3 を実行

inproc から SQL Server に切り替えたところ、多くの SQL タイムアウト期限切れメッセージが表示されます。ただし、セッションを SQL Server に移動した 1 つの Web アプリケーションからのみです。他のすべての Web サイトは影響を受けません。タイムアウトは、inproc を使用すると正常に実行される通常のデータベース クエリで発生します。

これをトラブルシューティングするにはどうすればよいですか?

前もって感謝します!

よろしくお願いします、

JP

編集: SQL Server を使用する Web アプリの web.config の要求どおり:

<sessionState 
       mode="SQLServer" 
       timeout="60" sqlConnectionString="Data Source=192.168.1.80;Persist Security Info=True;User ID=aspstate;Password=state"
       />

また、SQL Server を使用する問題の Web サイトは、インプロセスで実行される 1 つの Web アプリとアプリケーション プールを共有していることを忘れていました。2 つの Web アプリをそれぞれのアプリ プールに分割しました。しかし、それでタイムアウトが解決するとは思いません。奇妙なことに、他のすべての Web サイトは正常に動作し続けます。

編集 2: inproc から sqlserver に切り替えようとしたときに、今日このメッセージを受け取りました。データ アクセスとして、型指定されたデータセット (*.xsd) を多数使用しています。私の Web アプリは、1 日に約 2,000 のユニークな訪問者を持つ e コマース サイトです。メッセージは次のとおりです。

Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
4

1 に答える 1

1

これは、特定のアプリケーションが接続をリークし、SQL Server の接続プールをいっぱいにしてタイムアウトになっているようです。これらの問題を追跡することは非常にイライラする可能性があります。プロファイラー アプリケーションとprocexpなどのツールを見てください。

于 2010-02-03T14:12:48.477 に答える