IIS application pool recycling and "shutdown time limit" role in overlapping

Xaqron picture Xaqron · Jun 6, 2011 · Viewed 12.9k times · Source

When recycling happens, I want to move all new request to new w3wp (this is done automatically) and leave the previous w3wp to exit when it gets idle (whatever time it takes).

There's a shutdown time limit config for application pools (I use IIS 7.0) which doesn't take 0 as a value. How can I let the previous w3wp to shutdown when it is done and idle.

Answer

Geoffrey McGrath picture Geoffrey McGrath · Aug 16, 2011

The shutdown time limit hint leaves the old worker process running for up to the number of seconds indicated. If all requests are completed prior to that time, then it will shut down earlier.

When recycling happens, a new worker process spins up and immediately begins taking new requests. The old worker process continues working on old in-flight requests until completed, or until the shutdown timelimit is reached. By the way, the maximum shutdown timelimit seconds appears to be 4294967 which is one second shy of 50 days. OMG I hope no one is waiting that long for a request to complete!

Parenthetically, it is possible for a new worker process to NOT actually be able to start, especially if there is not enough free memory.