How do stop application pools from recycling in IIS 7.5?
I have configured the following settings:
ProcessModel -> Idle Time-out (minutes) = 0 Recycling -> Regular Time Intervals (minutes) = 0
Are these settings enought to stop an application pool from recycling?
What is application pool recycling in IIS? Recycling means that the worker process that handles requests for that application pool is terminated and a new one is started. This is generally done to avoid unstable states that can lead to application crashes, hangs, or memory leaks.
You can specify that IIS recycle an application pool at set intervals (such as every 180 minutes), at a specific time each day, or after the application pool receives a certain number of requests.
Does IISRESET recycle the application pools? The correct answer is no. Instead, IISRESET causes the shutdown of all active IIS worker processes, kills them if they do not stop in time.
The 1740 story Wade suggested 29 hours for the simple reason that it's the smallest prime number over 24. He wanted a staggered and non-repeating pattern that doesn't occur more frequently than once per day. In Wade's words: “you don't get a resonate pattern”. The default has been 1740 minutes (29 hours) ever since!
Yes, that should be ok assuming you also use Private Memory Limit = 0. There are still reasons an AppPool could recycle, such as when adding a new Global Module, it will require to be recycled so configuration changes take effect, but you can also disable that using the "Disable Recycling on Configuratoin Changes".
Finally if you are running ASP.NET you should consider that still AppDomains will recycle when changes in config (such as web.config) happen. But that should not affect the AppPool per'se only the ASP.NET applications running in it (such as Session State), but again it depends on why you ask this question if this is important or not.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With