Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've got a Windows Server 2003 box with IIS 6 installed. There is only one ASP-powered website running on this server. Approximately every 1-3 hours, IIS stops responding (returns 500 Service unavailable) for no good reason. There is not high server usage, no logged errors, nothing at all.

Restarting the IIS (really only the service) fixes the problem until it happens again.

I don't know what to check anymore. Has anyone of you had similar problems?

share|improve this question
Check the application event log. Check the website log. Check the HTTPERR log. – mfinni May 11 '11 at 13:35
It probably is stopping for a good reason, you just haven't found it yet. – joeqwerty May 11 '11 at 23:22
up vote 1 down vote accepted

It's possible that there is a bug in the app which is crashing the app pool. If you don't see anything useful in the applicaiton event log the try looking in the IIS log file and see what resource the last few requests were for right before the service stops responding. That is, find the entries that have a success response code (200, 301, 304, etc) that are immediately before the entries where the 500 starts.

If you own the code, bring up a test instance and go through some testing of that/those resource/s.

share|improve this answer

Does your ASP web site load a com object into the IIS application object? We had a very similar problem with Win 2003 and Win 2008 (but the later only on VMWare as far as we can tell). Our web application loaded a com object into the IIS application object. The com object was single threaded so our asp script had to lock the IIS application object before calling its primary method to ensure only one request at a time could call it. Intermittently, this caused a hang which we believe was caused by a deadlock on resources by different requests.

The solution was to write a DCOM executable that acted as a host process for the COM object. The ASP then instantiated the Out of process DCOM object rather than the in process COM object. This was done on the advice of a Microsoft engineer and fixed the problem in our case.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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