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 have deployed an ASP.NET MVC site under IIS7 on a local Windows Server 2008. The site works well, although I find the init time a bit long. I'm seated locally on this machine. If I browse the web site a bit and then leave for some time (let's say 30 or 60 minutes), when back and I click on a link, it takes again a long time to render the response. Then the next links are ok.

I don't know a lot about IIS yet, but I checked the recycle time in the IIS config and it's set to 29 hours, so I guess the answer is not there.

Also, my site uses ELMAH and I checked that there was nothing wrong in the log.

Where should I check next ? What can cause that ?


share|improve this question
up vote 3 down vote accepted

It does sound like the worker process is shutting down because it's idle. In the Application Pool you might look at the Advanced Settings / Process Model / Idle Time-Out. By default this is 20 minutes. I.e. it will shut down after 20 mins if it's Idle.

The Recycle time is effectively the maximum time a process is allowed run when it is continually busy before being restarted.

share|improve this answer
Thank you. Just learnt something. – Nicolas Cadilhac May 23 '09 at 13:51
I would just like to point out that the Idle Time-Out can be inherited. I was looking at my Outlook Web Access App and it had idle-timeout of 0 but the ASP.Net timeout was 20. When I changed that, it also fixed the issue. – SLY Jan 26 '11 at 17:25

Maybe there is another reason why your application pool recycles (if it recycles.) You could check the Windows application event log, to find out if in that time period a IIS event like this one is looged:

5195: A worker process with process id of '%1' serving application pool '%2' was shut down due to inactivity. The system is under high load and has decreased the idle timeout of this worker process to '%4' minutes from its original '%3' minutes. A new worker process will be started when needed.

share|improve this answer

There is a dynamicIdleThreshold setting. Here are some details.

share|improve this answer
well, I am on a local test machine here, not in a web hosting environment. From what I see, dynamicIdleThreshold is not setup here. – Nicolas Cadilhac May 23 '09 at 1:00

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.