web-dev-qa-db-ja.com

IISを再起動する「フレンドリーな」方法は何ですか?

Windows Server 2003WebでIIS 6を実行しています。

メモリをリークするサードパーティのコンポーネントがいくつかあるため、IISを再起動する定期的なジョブをスケジュールしました。ジョブは単にiisrestart /resetを呼び出しているだけで、ジョブを実行しているようです...しかし、3つのエラーと警告を含むイベントログイベントの大きな古い山が確実に生成されます。おそらく私たちはそれを間違っているのですか?

Windowsがすべてを混乱させることなくIISプロセスをリサイクルする「よりクリーンな」方法はありますか?監視が改善されるにつれて、prodWebサーバーでのエラーイベントが不必要な注意散漫を引き起こします。


好奇心旺盛な方のために、イベントの「サイクル」は次のようになります(簡潔にするために説明テキストを少し省略しました)。これらはすべて1〜2秒のスパンで発生します。

警告-WinRM-ID10149-WinRMサービスはWS-Management要求をリッスンしていません

情報-IISCTLS-ID6-IISサービスの停止中にリセットでエラーが発生しました

情報-サービスコントロールマネージャー-ID7035-SMTPサービスは正常に停止制御を送信されました

情報-サービスコントロールマネージャー-ID7035-Windowsリモート管理サービスが停止制御を正常に送信しました

情報-サービスコントロールマネージャー-ID7036-Windowsリモート管理が停止状態になりました

エラー-サービスコントロールマネージャー-ID7034-ワールドワイドウェブパブリッシングサービスが予期せず終了しました。これをx回実行しました

エラー-サービスコントロールマネージャー-ID 7034-IIS管理サービスが予期せず終了しました

エラー-サービスコントロールマネージャー-ID7034-SMTPサービスが予期せず終了しました

情報-IISCTLS-ID 4-IISユーザーから受信したkillコマンド。

情報-IISCTLS-ID2-IISユーザーから受信した停止コマンド。

情報-サービスコントロールマネージャー-ID7035-IIS管理サービスサービスに開始コントロールが正常に送信されました

情報-サービスコントロールマネージャー-ID7035-World Wide Web PublishingServiceサービスに開始コントロールが正常に送信されました

情報-サービスコントロールマネージャー-ID7035-SMTPサービスに開始コントロールが正常に送信されました

情報-サービスコントロールマネージャー-ID7035-Windowsリモート管理サービスに開始コントロールが正常に送信されました

2
Chris_K

IISワーカープロセス分離モードで実行していますか?その場合、より良い解決策は、アプリケーションプールのリサイクル機能を使用することです。問題のあるアプリケーションを独自のプールに入れて、そのプールのみを再起動できます。さまざまな基準に基づいて処理します(X分ごと、メモリ使用量がYメガバイトに達したとき、アプリへのZリクエストがあるときなど)。

http://www.Microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/003ed2fe-6339-4919-b577-6aa965994a9b.mspx?mfr=true

5
MattB

MattBの回答が最適(IMO)です。別のオプションは、アプリケーションプールプロセスを強制終了することです。

次のことを行う必要があるため、これにはもう少し作業が必要です。

  1. 強制終了するアプリケーションプールのPIDを決定します。
  2. PIDを殺す

ただし、これはIISサービス(ログにメッセージを生成しているもの)全体のリサイクルを行いません。

1
Jeff