56

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?

djdd87
  • 673
  • 1
  • 6
  • 9

3 Answers3

59

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 1740 minutes should also be changed. I recommend scheduling it for an off-peak time like 4:00am daily rather than having it at different times each day. More on that here on my website.

Glorfindel
  • 1,213
  • 3
  • 15
  • 22
Scott Forsyth
  • 16,339
  • 3
  • 36
  • 55
14

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.

M Aguilar
  • 879
  • 5
  • 5
4

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.

Adam Brand
  • 6,057
  • 2
  • 28
  • 40
  • Thanks for the info, I'll keep an eye on the memory. What monitoring software do you use? – djdd87 Jul 19 '09 at 06:33
  • Tembria Server Monitor – Adam Brand Jul 19 '09 at 13:31
  • According to this link (http://bradkingsley.com/iis7-application-pool-idle-time-out-settings/) "If the consumed resources of all the combined sites running on your server consume less than ~80% of the server resources, you’re likely fine." Meaning, setting the idle timeout to '0' to essentially disable it might be OK if the above fits your description. – atconway May 22 '13 at 13:31