代码之家  ›  专栏  ›  技术社区  ›  Rikalous

IIS应用程序池回收似乎未遵守指定的计划

  •  2
  • Rikalous  · 技术社区  · 16 年前

    我已更改metabase属性,以便IIS将记录所有回收,并记录手动回收命令。

    什么可能会阻止IIS遵守计划?

    2 回复  |  直到 16 年前
        1
  •  4
  •   erlando    16 年前

    在执行应用程序池回收(按计划)时,新的工作进程( 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.vbs

    当应用程序池回收时,您还应在系统事件日志中看到以下事件:

    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会话将由旧工作进程提供服务,直到不再存在)。