Event ID 5193 — IIS Worker Process Dynamic Idle

Applies To: Windows Server 2008

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: 5193
Source: Microsoft-Windows-WAS
Version: 7.0
Symbolic Name: WAS_HIGH_LOAD_DYNAMIC_IDLE_WARNING
Message: The dynamic idle load is '%1' percent of the dynamic idle threshold. The Windows Process Activation Service (WAS) will start to aggressively reduce worker process idle timeouts. Current number of worker processes: '%2', current total commit: '%3' MB, total physical memory: '%4' MB, current physical memory free: '%5' MB.

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.0