ASP.NET アプリケーションで、夜間のリサイクルによって w3wp がハングすることがあるという問題に遭遇しました。
これが起こることです:
リサイクルがトリガーされます。明らかに、これは実行中のすべてのスレッドで ThreadAbortException を強制します。ただし、新しい w3wp をトリガーするようには見えないか、実際に例外をスローするのは新しい w3wp です (まだ再現できていません)。
私のログでは、大量の ThreadAbortException が発生し、スレッド カウントが無制限に増え続けています。つまり、新しいリクエストが終了しない新しいスレッドを生成することを意味します。これが古い w3wp だった場合、新しいリクエストは新しく開始された w3wp にルーティングされます。
シャットダウン タイムアウトもラピッド フェール保護もトリガーされないようで、手動でリサイクルされるまでサイトを使用できません。ほとんどの場合、CPU も大量に消費し、サーバーもほとんど使用できなくなります。
おそらくそれとは何の関係もないモノレール MVC を使用していますが、RescueController システムを利用しています。エラー処理で意図せずに ThreadAbortException をキャッチした場合、無限ループが発生し、w3wp がひどくハングして IIS が回復できなくなる可能性はありますか?