I am a IIS nube. I have been reading about the benefits of recycling your application pool to free up memory caused by problematic applications that may have leaks. I understand that by recycling the app pool I am in essence restarting the application without restarting the server. I also understand that by recycling the app pool, I am clearing application cache and sessions.

My question is, when I recycle the application pool that is configured to only have 1 worker process, does that clear the request queue or will the queued requests be fulfilled when the new worker starts?


When you recycle the application pool on IIS 7 and above (unsure about earlier versions) then by default IIS will spin up a new worker process to handle new requests before terminating the existing worker process. At no point should an individual request fail and if any requests are queued then they will be handled as normal by the new worker process.

As an aside you should schedule any application pool recycles to occur during off-peak hours, as you've realised it will clear any active sessions and will break the user experience if the application relies on session storage.

Best practice would be to fix the application memory leak at source, but I realise that's not always practical. I would also test to make sure you do in fact have a problem in the first place; do not just schedule a regular application pool recycle in case the application does have a leak - test and make sure you have a problem first.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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