Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

BUG: You experience slow performance when ISAPI applications and CGI applications that are hosted on Internet Information Services 6.0 send responses


View products that this article applies to.

Symptoms

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.

↑ Back to the top


Cause

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.

↑ Back to the top


Resolution

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:
  1. Click Start, click Run, type Regedit, and then click OK.
  2. Locate and then click the following registry key:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
  3. Right-click Parameters, point to New, and then click DWORD Value.
  4. Type MaxBufferedSendBytes, and then press ENTER.
  5. Right-click MaxBufferedSendBytes, and then click Modify.
  6. In the Value data box, type 65536, and then click OK.
  7. Quit Registry Editor.
  8. Click Start, click Run, type cmd, and then click OK.
  9. At the command prompt, type net stop http.
  10. At the command prompt, type iisreset /restart.
Note To resolve this issue by using these steps, you must have Microsoft Windows Server 2003 Service Pack 1 installed.

↑ Back to the top


Status

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.

↑ Back to the top


More information

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:
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
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.

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.

↑ Back to the top


References

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 data
For 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

↑ Back to the top


Keywords: KB906977, kbprb, kbregistry, kbbug, kbtshoot

↑ Back to the top

Article Info
Article ID : 906977
Revision : 6
Created on : 12/3/2007
Published on : 12/3/2007
Exists online : False
Views : 564