503 error on IIS under several concurrent connections

Posted on 2007-10-19
Last Modified: 2008-01-09
Hi. Here is a very difficult one.

I have a Windows Server 2003 Enterprise (32 bits) running IIS 6.0, with ASP.Net 1.1.4322. Basically it's an image server, that has a large amount of concurrent accesses. Around 800 users simultaneous access an image file (all at once), every few seconds (it's a live webcast applications). The server is very robust, with 500 GB in a RAID-5, 4 GB RAM, Dual Opteron Processor. Will the users access it, the machine memory and CPU usage a low. Also it has plenty of bandwidth, since it's directly tied to a Gigabit port on the datacenter. I kept an eye on all paramenters and there is no imporant bottleneck on the hardware side.

Here is my problem: after around 20 "images", with 800 users, the users start getting a 503 error, and can no longer access the images.

On IIS HTTPErr Logs, I found these errors to be "Timer_ConnectionIdle". I believe it has something to do with the way the Application Pool is handling all those concurrent connections. No references to it are made on Windows Logs.

I've already tried tweaking all those paramenters on the Application Pool, but no results. For example, I tried increasing the Request Queue Limit value, but that doesn't seem to make any difference.

Also, I inserted "MaxUserPort=65534" on TCP configurations on regedit. Rebooted. Also, tried turning off keep-alive and decreasing connection timeout, then a restart of the w3svc (see for the explanation about this). Tried changing each parameter individually and tested. No big difference after each modification.

Has anyone ever seen this? Is there a way to get this solved? Again, this address ( has a description of what seems to be my problem... but I didn't manage to get this solved.

Thanks in advance,


Obviously, 500 points for the answer. Thanks in advance.
Question by:HelderConde
    LVL 3

    Expert Comment

    Are you sure the problem is IIS? It sounds like Windows will not allow any more accesses to that file / those files. If I am not mistaken, 503 is service unavailable. If too many users all have an open handle to the file in question then I suppose that is where the problem could lie.

    I know that Windows 2003 only allocates a certain amount of memory to open files and if the handles are not closing quickly enough you will get access issues. This is handled by a thread that continuously monitors the open files. It only kicks in after a certain amount of memory has been used up and then tries to free up some. If the memory is being used up too fast it will not be able to react quickly enough and you will get errors accessing the file(s) in question. There is a registry entry that you can change that will allow the monitoring thread to try and free up memory at a lower threshold value (e.g if the max mem allowed is 700Mb and it is set to intervene at 600Mb, you could set it to intervene at 400Mb, thus getting some more memory earlier on)

    I haven't seen this with a webserver but I have seen it with a file/print server.

    You may have tons of memory in the server but Windows isn't exactly dynamic at allocating it on the fly... I believe it sets out a particular amount (around 700Mb I think) for open files.

    I can't remember what the reg key is (I tried searching on google) but if you can phone Microsoft they will know... I have definitely done it before and it was M$ that told me about it.

    Anyway... just my 0.02$ worth. Hope it helps.

    Author Comment


    This problem I have is not solved yet, but I seem to have found a way to minimize it, following Microsoft's recommendation on the following link:

    This is a pretty good "ASP.NET Booster". I still get the error sometimes, but I believe the problem is on the Application I'm running. I have the software engineers working with me on that.
    LVL 1

    Accepted Solution

    PAQed with points refunded (500)

    EE Admin

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    IT, Stop Being Called Into Every Meeting

    Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

    Periodically we have to update or add SSL certificates for customers. Depending upon your hosting plan you may be responsible for the installation and/or key generation. In the wake of Heartbleed many sites were forced to re-key. We will concen…
    If you don't have the right permissions set for your WordPress location in IIS, you won't be able to perform automatic updates. Here's how to fix the problem.
    In this sixth video of the Xpdf series, we discuss and demonstrate the PDFtoPNG utility, which converts a multi-page PDF file to separate color, grayscale, or monochrome PNG files, creating one PNG file for each page in the PDF. It does this via a c…
    Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

    759 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    13 Experts available now in Live!

    Get 1:1 Help Now