I am working with a commercial application running on XP using IIS 5.1. Periodically the application is returning an IIS error "There are too many people accessing the Web site at this time." This is caused by Microsoft artificially limiting the number of connections (10) under IIS 5.1 under Windows XP, but in this case, there is really only one user (albeit a few tabs open at a time). Microsoft suggests you can reduce the problem by turning off HTTP Keep-Alives for that particular web site:


If you use IIS 5.0 on Windows 2000 Professional or IIS 5.1 on Microsoft Windows XP Professional, disable HTTP keep-alives in the properties of the Web site. When you do this, a limit of 10 concurrent connections still exists, but IIS does not maintain connections for inactive users.

I may do that; however, I'm worried about performance degradation. However, I also notice that IE8 appears to handle this differently than IE7. By default, IE6 and IE7 use 2 persistent connections while IE8 uses 6. Perhaps in this case IE8 itself is generating multiple connections in an attempt to be faster, but those additional connections are overwhelming the artificially limited IIS 5.1 on XP? Assuming that is the case, is there an Internet Explorer option, registry setting, or policy I can set to force IE8 to behave like IE7 with respect to persistent connections? I would not set this for all users, but for the small number of users that used this application, it might solve their intermittent problem until the application can be rehosted on Windows Server 2008. Thanks.


Disabling keep-alive connections will certainly reduce the problem by stopping browsers holding connections open for a time after their last access.

It certainly won't stop the problem though. If you get just two users using IE8 opening a page with many sub-objects (images, script files, css files) then you will hit the 10 connection limit. Depending on your application and number of users this may not be very likely, but the more concurrent user sessions you have the more likely it is so moving to a Windows variant that is intended for server use (and therefore doesn't artificially disable itself) is something yo should do as soon as is practical.

Disabling keep-alives will not have a significant affect on performance if your users are local or are using many connections. Keep-alive connections reduce the effect of network latency by reducing TCP handshakes, but if your clients are local each connection will not take a long time to initiate anyway. If your users are quite remote relative to the application and there is therefore a considerable round-trip latency between them and the application, then the difference will be more noticeable - the 100+ms cross-Atlantic round-trip time will have much more effect on performance with keep-alives off than would the <1ms round-trip time between hosts on the same network.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.