WSUS Recommended IIS Application Pool Settings - awarre/Optimize-WsusServer GitHub Wiki

WSUS IIS Configuration Settings

IIS WSUS Application Pool Configuration

Configuration File Location

%windir%\system32\inetsrv\config\applicationHost.config

Private Memory Limit (KB)

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

RecyclingMemory

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

Queue Length

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

Rapid-Fail Protection: "Service Unavailable" Response

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

Limit Interval (minutes)

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

WSUS Administration Client Web Services Config

Configuration File Location

C:\Program Files\Update Services\WebServices\ClientWebServices\Web.config

Execution Time-out (seconds)

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

Maximum Request Length (KB)

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

References

Introduction to ApplicationHost.config

Application pools recycle when memory limits are exceeded (SharePoint Server)

Default Limits for Web Sites

httpRuntime Element (ASP.NET Settings Schema)

⚠️ **GitHub.com Fallback** ⚠️