Microsoft KB Archive/229814

= Configuring IIS to handle heavy usage =

Article ID: 229814

Article Last Modified on 6/23/2005

-

APPLIES TO


 * Microsoft Internet Information Server 4.0
 * Microsoft Internet Information Services 5.0

-



This article was previously published under Q229814



We strongly recommend that all users upgrade to Microsoft Internet Information Services (IIS) version 6.0 running on Microsoft Windows Server 2003. IIS 6.0 significantly increases Web infrastructure security. For more information about IIS security-related topics, visit the following Microsoft Web site:

http://www.microsoft.com/technet/security/prodtech/IIS.mspx



SYMPTOMS
A computer running Microsoft Internet Information Server (IIS) 4.0 may stop responding to client requests, even though the server appears to be stable and healthy. This situation usually arises from a heavy load; however, IIS does not consume large amounts of CPU or memory resources. This behavior may occur on a per-network interface card, IP address, or TCP port basis. A Network Monitor trace will indicate that the server is immediately resetting TCP connections, indicating that the physical, network, and transport layers are functioning at full capacity.



CAUSE
The problem occurs because of a lack of resources at the application layer to handle the requests.



RESOLUTION
Set the following metabase parameters:

ServerListenBacklog

MaxEndPointConnections

You can change these metabase parameters at either the server level or site level. Increasing these values will result in an increase in handle count and memory usage. The values need to be tuned to achieve a balance between load handling capacity and memory usage.



MORE INFORMATION
The ServerListenBacklog property specifies the number of outstanding sockets that can be queued. This value is based on the operating system parameter and the server size specified in the ServerSize property.

IIS5.0

ServerListenBacklog

Range: 0 - unlimited

Default: 40

IIS 4.0

ServerListenBacklog

Range: 5 - 500

Default: 40

You can change the ServerListenBacklog property from a command line by using Adsutil.vbs. The Windows Script Host must be installed on the server to run this Visual Basic script:

cscript c:\winnt\system32\inetsrv\adminsamples\adsutil.vbs

SET w3svc/1/ServerListenBacklog 500

Note In Microsoft Windows 2000, Adsutil.vbs is located in the C:\Inetpub\Adminscripts folder.

The MaxEndpointConnections property specifies the maximum number of listen sockets that will be aggregated on a network endpoint. For example, if this value is set to 15, a maximum of 15 total connections can be made to a single port, even if more than one domain is bound to the port.

IIS 5.0:

MaxEndPointConnections

Range: 0 - unlimited

Default: -1 (unlimited)

IIS 4.0:

MaxEndPointConnections

Range: 0 - unlimited

Default: 100

You can change the MaxEndpointConnections property from a command line by using Adsutil.vbs:

cscript c:\winnt\system32\inetsrv\adminsamples\adsutil.vbs SET w3svc/1/MaxEndpointConnections 15

Additional query words: Overload time_wait IIS TCP RESETS

Keywords: kbprb KB229814

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.