Microsoft KB Archive/916984

From BetaArchive Wiki

Article ID: 916984

Article Last Modified on 12/3/2007



APPLIES TO

  • Microsoft Internet Information Services 6.0



Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry


SYMPTOMS

You experience high memory usage in the W3wp.exe process on a Microsoft Windows Server 2003-based computer that has Microsoft Internet Information Services (IIS) 6.0 installed.

This problem occurs during the transfer of a large HTTP response that is generated by an Active Server Pages (ASP) application to a client computer. An example of an ASP method that can generate this large HTTP response is the Response.BinaryWrite method. The memory usage in the W3wp.exe process may be as high as the size of the whole HTTP response that is being transferred. Typically, this problem occurs when the client computer uses a slow connection link.

RESOLUTION

Service pack information

To resolve this problem, obtain the latest service pack for Windows Server 2003. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

889100 How to obtain the latest service pack for Windows Server 2003


Hotfix information

Prerequisites

You must have Windows Server 2003 Service Pack 1 installed to apply this hotfix.

Restart requirement

If the Asp.dll file is being used when you apply this hotfix, you must restart the computer after you apply this hotfix.

If you do not want to restart the computer after you apply this hotfix, stop all IIS services before you apply this hotfix. To stop all IIS services, type Iisreset /stop at a command prompt, and then press ENTER.

File information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.

Windows Server 2003, Itanium architecture
File name File version File size Date Time
Asp.dll 6.0.3790.2671 1,063,936 30-Mar-2006 05:44
Wasp.dll 6.0.3790.2671 379,392 30-Mar-2006 05:44
Windows Server 2003, x64
File name File version File size Date Time
Asp.dll 6.0.3790.2671 611,328 30-Mar-2006 05:44
Wasp.dll 6.0.3790.2671 379,392 30-Mar-2006 05:44
Windows Server 2003, x86
File name File version File size Date Time
Asp.dll 6.0.3790.2671 379,392 30-Mar-2006 06:22


STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in Windows Server 2003 Service Pack 2.

MORE INFORMATION

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

In IIS 6.0, an ASP Web application uses asynchronous writes to the Http.sys file to transfer data to a client computer. If the client computer uses a slow connection and slowly retrieves the requested data, the data is queued in memory on the Web server.

After you apply this hotfix, you can configure the number of bytes that can be queued in memory. If the limit that you configure is reached, the file transfer is paused until the client computer retrieves enough data so that the amount of queued data is lower than the configured limit.

Important This hotfix only affects ASP applications. This hotfix does not affect Microsoft ASP.NET applications.

To limit the amount of data that can be queued in the W3wp.exe file, follow these steps:

  1. Apply the hotfix that is described in this article.
  2. Click Start, click Run, type regedit, and then click OK.
  3. Locate and then click the following registry key:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASP\Parameters

  4. If the VectorSendThrottleLimit subkey exists, go to step 7. If the VectorSendThrottleLimit subkey does not exist, go to step 5.
  5. On the Edit menu, point to New, and then click DWORD Value.
  6. Type VectorSendThrottleLimit, and then press ENTER.
  7. In the right pane, right-click VectorSendThrottleLimit, and then click Modify.
  8. In the Value data box, type the value that you want, and then click OK.

Warning If you set the VectorSendThrottleLimit subkey to a value that is less than the amount of data that an ASP page sends to a client, IIS stops responding (hangs). For example, if you set the VectorSendThrottleLimit subkey to 1000, any ASP page that transfers more than 1000 bytes is not dispayed in the client browser. Additionally, the IIS thread that handles the request is blocked until you restart the IIS service.

Note By default, this feature is disabled, and the VectorSendThrottleLimit subkey does not exist. When this feature is disabled, the value for this subkey is 0.

Keywords: kbbug kbfix kbqfe kbpubtypekc kbhotfixserver kbwinserv2003sp2fix KB916984