WSUS Recommended IIS Application Pool Settings - awarre/Optimize-WsusServer GitHub Wiki
Configuration File Location
%windir%\system32\inetsrv\config\applicationHost.config
Description
Maximum amount of private memory (in KB) a worker process can consume before causing the application pool to recycle. A value of 0 means there is no limit.
Explanation
When a Windows client computer connects to the WSUS server, they initiate a IIS session using the WsusPool application pool. This often can exceed the default maximum memory limits, which causes the application pool to restart, making the client to repeatedly try and fail to report its update status to WSUS.
Location
<system.applicationHost>
<add name="WsusPool">
<applicationPools>
<periodicRestart privateMemory="0" />
Recommended Value
0
Maximum amount of virtual memory (in KB) a worker process can consume before causing the application pool to recycle. A value of 0 means there is no limit.
When a Windows client computer connects to the WSUS server, it initiates an IIS session using the WsusPool application pool. This can often exceed the default maximum memory limits, which causes the application pool to restart, making the client repeatedly try and fail to report its update status to WSUS.
Location
<system.applicationHost>
<applicationPools>
<add name="WsusPool">
<recycling>
<periodicRestart memory="0" />
Recommended Value
0
Description
Maximum number of requests that HTTP.sys will queue for the application pool. When the queue is full, new requests receive a 503 "Service Unavailable" response.
Explanation
Increases the maximum number of requests available to the WSUS application pool to prevent the client computer from receiving 503 errors when processing updates.
Location
<system.applicationHost>
<add name="WsusPool" queueLength="25000">
Recommended Value
25000
Description
If set to HttpLevel and the application pool is stopped, HTTP.sys will return an HTTP 503 error. If set to TcpLevel, HTTP.sys will reset the connection.
Explanation
Helps to prevent "Error: Unexpected Error - Reset Server Node" error from WSUS related IIS worker processes crashing.
Location
<system.applicationHost>
<applicationPools>
<add name="WsusPool">
<failure loadBalancerCapabilities="TcpLevel">
Recommended Value
TcpLevel
Description
Specifies the reset period (in minutes) for CPU monitoring and throttling limits on the application pool. When the number of minutes elapsed since the last process accounting reset equals the number specified by this property, IIS will reset the CPU timers for both the logging and limit intervals. Setting the value of this property to 0 disables CPU monitoring.
Location
<system.applicationHost>
<applicationPools>
<add name="WsusPool">
<cpu resetInterval="00:15:00" />
Recommended Value
15
Configuration File Location
C:\Program Files\Update Services\WebServices\ClientWebServices\Web.config
Overview
Specifies the maximum number of seconds that a request is allowed to execute before being automatically shut down by ASP.NET.
Explanation
When client machines iterate updates, they can take an exceptionally long time, especially when first reporting to a WSUS server. This prevents timeouts and repeated failed attempts.
Location
<configuration>
<system.web>
<httpRuntime executionTimeout="7200" />
Recommended Value
7200
Overview
Specifies the limit for the input stream buffering threshold, in KB. This limit can be used to prevent denial of service attacks that are caused, for example, by users posting large files to the server.
Explanation
Clients often exceeded the default maximum stream buffer threshold, causing the connection to fail.
Location
<configuration>
<system.web>
<httpRuntime maxRequestLength="204800 />
Recommended Value
204800
Introduction to ApplicationHost.config
Application pools recycle when memory limits are exceeded (SharePoint Server)