web-dev-qa-db-ja.com

IISアプリケーションプールがpingに応答できませんでした

数日前にWindows 2003サーバーで発生した問題を調査しています。約15のアプリプールがあり、数分以内にそれらすべてがシステムログに以下のエラーを生成しました。

A process serving application pool 'Pool 31x' failed to respond to a ping. The process id was '7144'.

その後、プールは自動的に再起動されましたが、起動中にタイムアウトになり、すべてのサイトがダウンしたままになりました。

私の質問は、ほぼ同時にすべてのアプリプールに「pingタイムアウト」が発生するのはなぜですか。それから、起動が遅すぎるのはなぜですか。

各プールのアプリは、.NET 1.1フレームワークを使用するWCMSです。リモートDBに接続しますが、それ以外の点では他のマシンから独立しています。

IISの "Ping"は、ワーカープロセスの状態を監視するためにW3SVCによって行われるヘルスチェックにすぎません。 pingに応答します。」は、プロセスがデッド状態であることを意味します。

ラピッドフェールプロテクションは、このような問題に対処し、appPoolを自身でリサイクルして、ワーカープロセスの正常性を維持するリサイクルオプションです。

問題の根本原因に到達するには、プロセスをデバッグする必要があります。

ワーカープロセスに.netアプリケーションが読み込まれているので、アプリケーションイベントログをチェックして、.netフレームワークの警告またはエラーがないか確認することはお勧めです。デバッグ診断ツールをプロセスに接続し、ダンプをとって問題の原因を確認できます。記事に従ってください デバッグ診断ツールを使用して、IISで応答を停止したプロセスをトラブルシューティングする方法

5
Vivek Kumbhar

グローバルHTTPエラーログを確認しましたか?

それは呼ばれています httperr.logで、通常はログファイルディレクトリにありますC:\windows\system32\LogFiles、メインの下W3CSVC1サービス。

アプリプールで問題が発生したときはいつでも、そのファイルは非常に役に立ちました。

4
Andy Shellam