Article ID: 906977 - View products that this article applies to.
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:
(http://support.microsoft.com/kb/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:
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: 2032 TCP: Control Bits: .AP..., len: 588, seq: 806719479-806720067, ack:1984105268, win:65459, src: 80 dst: 2032 TCP: 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:
840875For 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:
(http://support.microsoft.com/kb/840875/ )BUG: IIS 6.0 is slower than IIS 5.0 when you use the WriteClient API to send data
(http://support.microsoft.com/kb/823764/ )Slow performance occurs when you copy data to a TCP server by using a Windows Sockets API program
Article ID: 906977 - Last Review: December 3, 2007 - Revision: 3.3