I'm currently fighting an issue with ASP.Net taking minutes to load a page for the first time. Through playing with settings I've found that disabling "Shutdown worker processes after being idle for (time in minutes)" stops the issue from occurring... I assume the reason it stops my issue from occurring is due to the fact the worker process does not end and therefor the app pool never needs to recreate itself.

Is there any harm in disabling this option? What ramifications could it have?

link|improve this question
feedback

3 Answers

up vote 8 down vote accepted

I highly recommend turning off the idle timeout in most situations. It's the default but it's meant more for bulk hosters that want unused worker processes to be ended so that they can always assume that they won't have all of them running at the same time.

However, if you have just a few production app pools on a server but occasionally don't have a visitor in a 20 minute space (i.e. overnight), you don't want your app pool to stop. You likely have enough resources to have all of your app pools running at once.

Additionally the default settings of recycling the app pool at different intervals should also be changed. It's a Band-aid to have to recycle regularly. That is only needed if you have a memory leak that you can't solve. As long as your application runs well, you can turn off all recycles and let it run until you next patching window or reboot. If you do have some issues and you want to recycle, I suggest doing it at a time like 4:00am daily. If you have monitoring software watching the site then by 4:01am, everything will be up and running quickly again.

link|improve this answer
feedback

This setting is best left enabled for:

  • leaky applications
  • servers with lots of application pools

There isn't much danger of being overwhelmed with app pools if you've only got a few defined.

Other than that, I've disabled it in many cases, with no ill effect.

link|improve this answer
feedback

My understanding is that if you don't kill idle worker processes after a period of time, you will have tons of unused worker processes eating up memory.

I guess you can try it and see if you notice a gradual increase in memory. There is another setting that does a recycle every 1700 minutes or something, so that would clear out really old worker processes.

BTW The way we handle this with lesser-used websites is that our monitoring software loads an aspx page every 10 minutes.

link|improve this answer
Thanks for the info, I'll keep an eye on the memory. What monitoring software do you use? – GenericTypeTea Jul 19 '09 at 6:33
Tembria Server Monitor – Adam Brand Jul 19 '09 at 13:31
feedback

Your Answer

 
or
required, but never shown

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