When migrating Web applications to Windows Server 2003, people might encounter a stumbling block that only affects ISAPI/CGI applications. On many systems, CGI (COmon Gateway Interface) applications respond so slowly to server requests that users may suspect a network issue. (Note: This includes only ISAPI/CGI applications, which are basically precompiled Web services, and not ASP or ASP.NET programs.)
The problem actually is a network issue. . .sort of. In IIS 6.0, the default buffer size allocated to CGI applications is now only 8,192 bytes. The smaller buffer size means that the kernel-level HTTP protocol stack (HTTP.SYS) may break the responses into packets that don't use the full network segment size. This results in greater latency and slower responses, especially when serving a great many connections at once. The same applications should behave fine as-is in IIS 5.0.
Note: In a LAN, this problem won't be as noticeable, since the problem doesn't manifest until WAN-style latencies come into play. Therefore, if you do a local test for the slowdown effect, it may not manifest itself.
There is a workaround for this issue, but it requires that Windows Server 2003 Service Pack 1 be installed. If that's the case, then you can change the buffer size for CGI applications by adding a value to the Registry. In HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters, create a new DWORD value named MaxBufferedSendBytes and set it to 65536 (decimal). After you make this change, you'll need to stop and restart IIS; you can do that from the command line with the IISRESET /RESTART command.
Serdar Yegulalp is editor of The Windows Power Users Newsletter. Check it out for the latest advice and musings on the world of Windows network administrators -- and please share your thoughts as well!
More information from SearchWinSystems.com
- News: What Microsoft should do to harden IIS
- Topic: Server Management
- RSS: Sign up for our RSS feed to receive expert advice every day.