What happens when an application pool is recycled in IIS 7? Does IIS abruptly stops everything on that website and there is user impact or does it does it transparently and the user never notices anything?
Should we do recycles at all? What are the pros and cons of it?
I was thinking of doing it everyday late at night when traffic is very low. Any best practices, suggestions?
Thank you
If you actually mean Application Pool Recycle, then it is an online operation. A new w3wp process is created which serves subsequent requests, while the previous w3wp process has a configurable amount of time to complete all outstanding requests (by default 90 second). There is a performance impact since the items in memory have to be reloaded, but there is no outage.
Having a nightly recycle, followed by a warm-up of some sort (to load items into memory) is a fine idea if you have memory leak issues, but the real advantage is the ability to warm-up during low-load (otherwise you're better off to not recycle till it's actually necessary).
If you actually mean Reset (which is normally said as an IIS Reset, or for an Application Pool a stop, then start) then yes, there is an outage. And no, it should not be done if it can be avoided.