2

IISでホストされているリモート処理を使用するアプリケーションで接続リークを追跡しているため、孤立した接続をクリアするために、1日の指定された時間にAppPoolのリサイクルをスケジュールしました。ただし、このリサイクルがスケジュールに従って行われているという証拠は表示されません。メタベースプロパティを変更したため、IISはすべてのリサイクルをログに記録し、手動のリサイクルコマンドをログに記録します。

IISがスケジュールを監視するのを妨げているのは何ですか?

4

1 に答える 1

4

アプリケーションプールのリサイクルを(スケジュールに基づいて)実行すると、新しいワーカープロセス(w3wp.exe)が開始されます。既存のワーカープロセスは、既存の要求を処理するために存続し、それ以上なくなるとシャットダウンします。すべての新しいリクエストは、新しいワーカープロセスに送信されます。

w3wp.exeリサイクルしているアプリケーションプールが新しいプロセスであるかどうかを確認できます。これを行うには、次のIIS管理スクリプトを使用します。

c:>iisapp.vbs
W3WP.exe PID: 5924   AppPoolId: MSSharePointAppPool
W3WP.exe PID: 2840   AppPoolId: Problem Sites - ASP.NET 2.0
W3WP.exe PID: 2576   AppPoolId: DefaultAppPool
W3WP.exe PID: 6076   AppPoolId: ASP.NET 2.0
W3WP.exe PID: 4916   AppPoolId: Problem Sites - ASP.NET 1.1

スケジュールされたリサイクル時間の前後のプロセスIDをメモして、変更されるかどうかを確認します。

cscript iisapp.vbscscriptがデフォルトのWSHスクリプトホストでない場合は、次を使用する必要があります。

アプリケーションプールがリサイクルされると、システムイベントログに次のイベントも表示されます。

Event Type: Warning
Event Source:   W3SVC
Event Category: None
Event ID:   1013
Date:       22/06/2009
Time:       19:18:09
User:       N/A
Computer:   UK1SRD1602
Description:
A process serving application pool 'ASP.NET 2.0' exceeded time limits during 
shut down. The process id was '2788'.

このイベントは、([アプリケーションプールのプロパティ]-> [パフォーマンス]タブ)で指定された分数にIdle timout加えて、既存のワーカープロセスが保留中の要求を完了し、最後のASP.NETアプリケーションドメインが破棄されるまでにかかる時間の後に表示されます(既存のASP.NETセッションは、なくなるまで古いワーカープロセスによって処理されます)。

于 2009-06-23T16:32:15.787 に答える