Microsoft KB Archive/817439

= IIS 6.0 changes to the metabase property ConnectionTimeout affect other settings in IIS =

Article ID: 817439

Article Last Modified on 12/3/2007

-

APPLIES TO


 * Microsoft Internet Information Services 6.0

-



SUMMARY
The Internet Information Services (IIS) 6.0 metabase property ConnectionTimeout specifies the time in seconds that the server waits before it disconnects an inactive connection. This property assumes the functional role of the IIS 5.0 ServerListenTimeout property. This property specifies the time the server waits before it disconnects a client that has connected but has not sent any data. By default, the ConnectionTimeout property is set to two minutes. You can change this value in IIS Manager.



MORE INFORMATION
The ConnectionTimeout setting also determines the time IIS waits before it disconnects a connection considered inactive for the following reasons:
 * Timer_ConnectionIdle: The connection was closed while staying idle.
 * Timer_EntityBody: The IIS 6.0 server expects to receive all packets for both a HTTP header and body from clients. Sometimes either the header or the body may not reach the server. In this case, the request’s whole entity body is not successfully received, and the timeout value (that is, how long the server waits before it drops the connection) is derived from the ConnectionTimeout property set in the metabase.

The HTTP stack in Microsoft Windows Server 2003 is implemented as a kernel mode driver named Http.sys. When Http.sys knows the request has an entity body, it turns on the Timer_EntityBody timer. This timer is initially set to the ConnectionTimeout value. Each time Http.sys receives another data indication on this request, it resets the timer to give the connection another time period based on the ConnectionTimeout value in the IIS metabase.
 * Timer_AppPool: The connection was closed because the request waited longer than the ConnectionTimeout value set in the IIS metabase while it was queued to an Application Pool queue, waiting for IIS to start processing it. If you increase or decrease ConnectionTimeout, the time a request can wait in an Application Pool queue before it is disconnected also increases.

