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 ?

Thanks

link|improve this question
feedback

3 Answers

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.

link|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
feedback

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.

link|improve this answer
feedback

There is a dynamicIdleThreshold setting. Here are some details.

link|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
feedback

Your Answer

 
or
required, but never shown

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