Microsoft KB Archive/822241

From BetaArchive Wiki
Knowledge Base


ISA Server Web Proxy service maintains a connection after a client session is closed

Article ID: 822241

Article Last Modified on 1/30/2007



APPLIES TO

  • Microsoft Internet Security and Acceleration Server 2000 Service Pack 1



Notice


Important This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry


SUMMARY

By default on a computer that is running Internet Security and Acceleration (ISA) Server, the Microsoft Web Proxy service (W3proxy.exe) maintains a TCP connection even after the client session to the server is closed. This behavior occurs if either of the following conditions is true:

  • The client makes an internal Local Address Table (LAT)-based HTTP 1.1 request to the server that includes a "Proxy-Connection: Keep-Alive" request header.
  • The client makes an external reverse-proxy (Web-published)-based HTTP 1.1 request that includes a "Connection: Keep-Alive" request header.


MORE INFORMATION

This behavior is based on the Hypertext Transfer Protocol (HTTP) standards that are described in Request for Comment (RFC) 2616. For access to the RFC 2616 document, visit the following Internet Engineering Task Force (IETF) Web site:


The HTTP 1.0 protocol permits the ISA server and clients to close the TCP connection between each request/response cycle. This is less than optimal because of the network overhead that is involved when you close and then re-establish TCP connections.

HTTP 1.1 adds the "Proxy-Connection:Keep-Alive" header and the "Connection:Keep-Alive" header to reduce the number of TCP connections that are made during a single Web session between the client and the server. ISA Server maintains a connection to the remote server for client requests so that each request to the remote server travels over a single connection. This makes the overall session far more efficient, and the session is then used to service all ISA clients that request connections to the same server, unless server authentication is used. In cases where server authentication is used, a new TCP connection is created for each authenticated session.

To modify the default behavior of ISA Server, set the ConnectCacheSizeregistry value in the following registry key to 0 (zero):

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3Proxy\Parameters


The default setting for the ConnectCacheSize registry value is 128. When you set this value to 0, ISA Server performance is significantly degraded, because ISA Server has to establish a new connection each time that a Web proxy client makes a request. Because each resource that is directly referenced in a Web page (an image or a sound, for example) represents a request, ISA Server has to close and then reopen a new TCP connection to the server to service the client request.

Important If ISA Server is also used for Web publishing, you must obtain the fix that is described in the following Microsoft Knowledge Base article before you set the ConnectCacheSizevalue to 0:

821935 ISA Server Web Proxy service stops responding when the ConnectCacheSize registry value is set to 0


Warning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

To set the ConnectCacheSize registry value to 0, follow these steps:

  1. Click Start, and then click Run.
  2. In the Open box, type regedit, and then click OK.
  3. Locate and then select the following registry subkey:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3Proxy\Parameters

  4. In the right pane, click ConnectCacheSize.
  5. On the Edit menu, click Modify.
  6. In the Value data box, type 0, and then click OK.
  7. Quit Registry Editor.


Note The ISA Server Web Proxy service must be restarted for this change to take effect.

For more information about the Web Proxy service, visit the following Microsoft Web site:

REFERENCES

For additional information about the ConnectCacheSize registry value, click the following article number to view the article in the Microsoft Knowledge Base:

821935 ISA Server Web Proxy service stops responding when the ConnectCacheSize registry value is set to 0



Additional query words: w3proxy keep-alive ConnectCacheSize

Keywords: kbisaserv2000presp2fix kbfix kbhowto KB822241