ランダムに(通常、数時間に1回)500エラーをスローするWebサイトがあります。イベントビューを確認したところ、次のエラーが表示されました。
アプリケーションプール ' xxxxxxx 'にサービスを提供しているプロセスが、シャットダウン中に時間制限を超えました。プロセスIDは 'xxxx'でした。
私がそれを修正できるように、この問題の潜在的な原因は何ですか?
ランダムに(通常、数時間に1回)500エラーをスローするWebサイトがあります。イベントビューを確認したところ、次のエラーが表示されました。
アプリケーションプール ' xxxxxxx 'にサービスを提供しているプロセスが、シャットダウン中に時間制限を超えました。プロセスIDは 'xxxx'でした。
私がそれを修正できるように、この問題の潜在的な原因は何ですか?
回答:
各Webサイト(および場合によっては各Webアプリケーション)はIISであり、ホスティングプロセスの構成を保持するアプリケーションプールにリンクされています。
これらのプロパティのいくつかは、プロセスがどのようにリサイクル(終了および再起動)されるかと関連しています。デフォルトでは、各アプリケーションは1740分(29時間)ごとに終了しますが、「ping」への応答に失敗した場合(実際には、ヘルスモニタリングビート)、20分間(再びデフォルトで)未使用の場合はリサイクルすることもできます。 。その他の制限は、管理者が設定できます。
アプリケーションがリサイクルされると、コンテナープロセスはシャットダウンされます。(デフォルトでは)正しくシャットダウンするまで90秒かかるか、強制的に閉じられます。
したがって、問題の原因は、Webアプリのリサイクル制限の1つに達し、IISがそれを終了しようとしたことです。残念ながら、アプリケーションは時間内にシャットダウンできず、その(一時的な)エラー500が発生します。
現在、別の側面があります。アプリケーションが5分間で(デフォルトで)5回以上「失敗」した場合(つまり、サーバーエラーを送信した場合)、IISによってシャットダウンされ、手動で再起動するまで停止したままになります。それ。
これはすべて、アプリケーションコードのエラーを示しています。そのコードのサプライヤに連絡してください。それらは、正確な問題の診断に役立ちます。