Event ID 5195 — IIS Worker Process Dynamic Idle

Applies To: Windows Server 2008 R2

The Internet Information Services (IIS) Worker Process Activation Service (WAS) can dynamically adjust the idle time-out of worker processes based on current load. You can specify the maximum number of worker processes that can run concurrently on a Web server. If the maximum number is reached and dynamic idle is enabled, WAS dynamically reduces the idle time-out. This could allow new worker processes to start sooner and prevent the Web server from becoming unresponsive.

Event Details

Product: Internet Information Services
ID: 5195
Source: Microsoft-Windows-WAS
Version: 7.5
Symbolic Name: WAS_EVENT_DYNAMIC_IDLE_SHUTDOWN_WP_INFO
Message: A worker process with process id of '%1' serving application pool '%2' was shutdown due to inactivity. The system is under high load and has decreased the idle timeout of this worker process to '%4' minutes from its original '%3' minutes. A new worker process will be started when needed.

Resolve

Configure the dynamic idle threshold

If Web server performance is impacted, you may want to configure the dynamicIdleThreshold attribute of the system.applicationHost/webLimits section in the ApplicationHost.config file.

Note: For more information about the values to use for the dynamicIdleThreshold attribute, see IIS 7.0: webLimits Element (IIS Settings Schema).

To perform this procedure, you must have membership in Administrators, or you must have been delegated the appropriate authority.

To specify a value for the dynamicIdleThreshold attribute:

  1. Open an elevated Command Prompt window. Click Start, point to All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.
  2. Type cd %Windir%\system32\inetsrv\.
  3. Type **appcmd set config /section:webLimits /dynamicIdleThreshold:**number where number is a value from 0 to 10000.
  4. To verify that the value has changed, type appcmd list config /section:webLimits /config:*  The changed value will be displayed.

Verify

Because the dynamic idle feature works in real time, its threshold value is transient. However, you can verify whether dynamic idling has been enabled, or specify a value for the dynamic idle threshold if you want.

To perform this procedure, you must have membership in Administrators, or you must have been delegated the appropriate authority.

To verify whether dynamic idling is enabled:

  1. Open an elevated Command Prompt window. Click Start, point to All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.

  2. Type cd %Windir%\system32\inetsrv\.

  3. Type appcmd list config /section:webLimits /config:*

    The output will resemble the following:

    <system.applicationHost>

    <webLimits maxGlobalBandwidth="4294967295" connectionTimeout="00:02:00" demandStartThreshold="2147483647" dynamicIdleThreshold="0" headerWaitTimeout="00:00:00" minBytesPerSecond="240" /&gr;

    </system.applicationHost>

    If the value of dynamicIdleThreshold attribute is non-zero, the feature is enabled. In the example here, it is disabled; this is the default setting.

IIS Worker Process Dynamic Idle

Internet Information Services (IIS) 7.5