BUG: You experience slow performance when ISAPI applications and CGI applications that are hosted on Internet Information Services 6.0 send responses
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
You experience slow performance when Inetrnet Server Application Programming Interface(ISAPI) applications or Common Gateway Interface (CGI) applications that are hosted on Microsoft Internet Information Services (IIS) 6.0 send responses.
You do not experience this issue when ISAPI applications or CGI applications that are hosted on Microsoft Internet Information Services (IIS) 5.0 send responses.
This issue occurs because of the default buffer size for sends that go through the HttpSendHttpResponse API. These include responses sent from ISAPI applications and from CGI applications hosted in IIS 6.0 that make small but frequent sends.
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.
To resolve this issue, add the MaxBufferedSendBytes entry to the registry. To add the MaxBufferedSendBytes entry to the registry, follow these steps:
- Click Start, click Run, type Regedit, and then click OK.
- Locate and then click the following registry key:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
- Right-click Parameters, point to New, and then click DWORD Value.
- Type MaxBufferedSendBytes, and then press ENTER.
- Right-click MaxBufferedSendBytes, and then click Modify.
- In the Value data box, type 65536, and then click OK.
- Quit Registry Editor.
- Click Start, click Run, type cmd, and then click OK.
- At the command prompt, type net stop http.
- At the command prompt, type iisreset /restart.
Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.
The default buffer size in IIS 6.0 causes the HTTP protocol stack (HTTP.sys) to frequently send responses and to send responses in packets that do not use the maximum segment size. For example, if the maximum segment size is 1,460 bytes, you may see trace information that is similar to the following in Network Monitor:
Because the data packets are small and are frequently sent, this issue is more noticeable because of network latency. This issue may be less noticeable in an intranet environment.
TCP: Control Bits: .A...., len: 1460, seq: 806718019-806719479, ack:1984105268, win:65459, src: 80 dst: 2032TCP: Control Bits: .AP..., len: 588, seq: 806719479-806720067, ack:1984105268, win:65459, src: 80 dst: 2032TCP: Control Bits: .AP..., len: 1024, seq: 806720067-806721091, ack:1984105268, win:65459, src: 80 dst: 2032
The default value for the MaxBufferedSendBytes entry is 8,192 bytes. When you set the value for the MaxBufferedSendBytes entry to 64 kilobytes, HTTP.sys sends packets that use the maximum segment size.
Note This change increases kernel NonPagedPool memory usage.
For more information about performance issues in IIS 6.0 when you send HTTP data responses through the WriteClient API, click the following article number to view the article in the Microsoft Knowledge Base:
840875 BUG: IIS 6.0 is slower than IIS 5.0 when you use the WriteClient API to send dataFor more information about performance issues when you use a Windows Sockets API program to copy data to a TCP server, click the following article number to view the article in the Microsoft Knowledge Base:
823764 Slow performance occurs when you copy data to a TCP server by using a Windows Sockets API program
Article ID: 906977 - Last Review: 12/03/2007 19:54:00 - Revision: 3.3
Microsoft Internet Information Services 6.0
- kbtshoot kbbug kbregistry kbprb KB906977