400個のWebアプリケーション(30個のアプリケーションプールに分散)をホストするIISWebサーバーがあります。これらは、ASP.NETアプリケーションとWCFサービスのエンドポイントの両方です。サーバーには32GBのRAMがあり、通常は高速で実行されています。95%のメモリ使用量で実行されていますが。ワーカープロセスはそれぞれ500MBから1.5GBのRAMを使用します。
SQLServerを実行している別のボックスもあります。あれにはたくさんの空きメモリがあります。
時々、WebサーバーはSQLタイムアウト例外をスローし始めます。最初は1分あたり数回でしたが、1分あたり数百回に急速に増加しました。効果的にサーバーをダウンさせます。この問題は、すべてのプールのアプリケーションに影響します。一部のリクエストはまだ完了していますが、ほとんどのリクエストは完了していません。これが発生している間、サーバーのCPU使用率は約30%です(これはそのボックスの通常の負荷です)。
これが発生している間も、SQL Server Management Studio(IISサーバーから)を使用して、要求を正常に(そして高速に)実行できます。
修正はIISを再起動することです。そして、次回まですべてが正常に戻ります。
サーバーは非常に少ないメモリで実行されているため、これが原因のように感じます。しかし、メモリ不足とSQLタイムアウト例外の突然のバーストとの関係を説明することはできません。
何か案が?