« Publication of Photographs: Is A Release Required? | Main | Blogging from the Mississippi Gulf Coast »

August 31, 2005

There are too many people accessing the Web site at this time

IIS is driving me nuts, because I can't figure out why it keeps limiting my connections. Out of desperation, I have installed MetaEdit 2.2. I'm really struggling with the maximum number of connections allowed by IIS.

IIS on XP is configured by default with Maxconnections set to 10. You can bump it up to 40. MetaEdit will allow you to set it higher, but if you set it to more than 40, then the max connections defaults back down to 10.

The funny thing about the maximum number of connections to IIS is is that, when you think about it, it's really just blasting data through the router in response to an HTTP request, so what really is a "connection" anyway?

Well, as it turns out, with HTTP 1.0, this was initially the plan. That data would be regurgitated through the ubiquitous Port 80 on request. However, it soon became apparent that this was a less than optimal solution. With HTTP 1.1, the Keep-Alive property was introduced. So, between connections, IIS tries to keep the connection alive. Keep-Alive should always be enabled in IIS to improve performance.

Start - Run - Inetmgr. In IIS, find your web site and click on the Properties icon. Under "My Web Site Properties" - "Web Site" tab - Connections, verify that "HTTP Keep-Alives Enabled" is checked. I also set "Connection Timeout" to 300 seconds. I assume that this is the amount of time before the connection is dropped, if you're using "Keep-Alives". Mine was set to 900 seconds, which seemed too long.

I've always suspected that IIS wasn't dropping the connections promptly, and this is probably what was causing it.

Update: I believe that Microsoft has patched IIS 5.1 for XP so that it restricts connections to 10, even though Maxconnections is set to 39. I haven't seen this posted anywhere, but that's what I think has happened. To get around it for now, I turned off "Keep-Alives", and set connection timeout to 10 seconds, which essentially drops a connection as soon as it is established. I'm not sure what this means from a "performance" perspective, but performance wasn't my problem. My problem is that IIS won't allow people to connect to my web site, which sucks.

Update 2: I finally installed Apache under XP and put a bullet in IIS. IIS sucks and should never be used under any circumstances. It's a joke. Apache is simple to use, and a much better web server than IIS.

Technorati tags:
Delicious tags:

Folksonomy:These icons link to social bookmarking sites where readers can share web pages.
 
digg  Furl  Spurl  Reddit  blinkbits  BlinkList  blogmarks  connotea  De.lirio.us  Fark  feedmelinks  LinkaGoGo  Ma.gnolia  NewsVine  Netvouz  RawSugar  scuttle  Shadows  Simpy  Smarking  TailRank  Wists  YahooMyWeb

Posted by Peenie Wallie on August 31, 2005 at 11:39 AM

Comments

Hi there...I noticed that you said that your sister works at Biloxi Regional. In case you hadn't heard. Biloxi Regional IS being operated by generators and people are being taken there. So, she is probably okay. You probably know all this by now, but I just got through to someone on a cell phone there and they were telling me about all this...then I saw your website and thought I'd share...Thanks a lot!

Posted by: Mary Ausborn on August 31, 2005 at 10:08 PM

Why don't you give Apache a try? It's free and it's not crippled. While I've never done it myself, I understand that some people run it under XP.

Posted by: John on September 01, 2005 at 03:17 AM

"Using Apache with Microsoft Windows" at http://httpd.apache.org/docs/1.3/windows.html

Or, if you're hatred of Microsoft is ready to drive you over to the Dark Side, one of these should be adequate to run your server.

Posted by: Robert on September 01, 2005 at 11:45 AM

OK, you've switched to Apache since then, but I just came across this:

http://www.digg.com/software/Windows_XP_Multiuser_Remote_Desktop

by SuperSloth on 4/24/06
[comment buried, show commenthide comment] + 11 diggs bury this digg this
Of course he's done something to it, dimwit. The Windows XP version prohibits more than one concurrent connection. This is to make you go buy Win2k3 Server for Terminal Services. Just like Win2k Pro is a stripped version of Win2k Server. MS doesn't develop two products that do the same thing if they don't have to. They develop it once and then set a flag that disable the major feature.

This is why, for example, that the TCP/IP stack in WinXP has a 10 half-open connection limit, and a hard limit of 10 NetBIOS connections. They don't want you using WinXP as a file server or web server (people did this with Win2k Pro). There are other limits in IIS 5.1 that make it unacceptable as a business-grade web server. They don't want you using WinXP as a Terminal Services host, so they limit it to one connection to force you to buy a server liscense.

It's not that difficult people. If you want server functionality, you pay the server price tag.

Posted by: Robert R. on May 09, 2006 at 09:07 AM