After about half a day the IIS 6.0 ASP (VBScript) web server appears to die. It accepts TCP connections (i.e. I can telnet localhost 80
successfully) however it does not return any response.
When I restart the server (going through My Computer -> Manage -> IIS -> All Tasks -> Restart) I get a lot of entries in C:\WINDOWS\system32\LogFiles\HTTPERR\httperr1.log
at the time of restart that say:
... 80 HTTP/1.1 GET / - 843545307 Connection_Abandoned_By_AppPool DefaultAppPool
... 80 HTTP/1.0 GET / - 843545307 Connection_Abandoned_By_AppPool DefaultAppPool
... 80 HTTP/1.0 GET / - 843545307 Connection_Abandoned_By_AppPool DefaultAppPool
where the ...
refers to the prefix of the line, e.g.
2010-03-17 10:05:06 127.0.0.1 4927 127.0.0.1 80
There are 583 such lines (Connection_Abandoned_By_AppPool
) in my log at time of restart.
What could be the cause of this problem?
My guess is that something with the app fails, causing a whole bunch of requests to queue. When you restart IIS, it's not able to catch up in the 90 second timeout, so it has to forcible end all outstanding requests. So, what you see in httperr is the affect and not the cause.
When it fails, do static pages work? That will tell you if it's IIS or ASP that is at fault. Your telnet test is a great one. That's helpful.
Check the IIS logs just prior to the restart and see if there are any other clues as to which pages are server, or what are the last few requests that worked successfully. That may give some more clues.
Perfmon has some counters that can show the number of queue requests and errors. You may be able to watch that and trend when it fails and possibly tell when the root issue first triggers.