What should I do to make sure that IIS does not recycle my application?
Posted
by
AngryHacker
on Server Fault
See other posts from Server Fault
or by AngryHacker
Published on 2011-11-22T23:29:18Z
Indexed on
2011/11/23
1:59 UTC
Read the original article
Hit count: 514
I have a WCF service app hosted in IIS. On startup, it goes and fetches a really expensive (in terms of time and cpu) resource to use as local cache.
Unfortunately, IIS seems to recycle the process on a fairly regular basis. So I am trying to change the settings on the Application Pool to make sure that IIS does not recycle the application. So far, I've change the following:
- Limit Interval under CPU from 5 to 0.
- Idle Time-out under Process Model from 20 to 0.
- Regular Time Interval under Recycling from 1740 to 0.
Will this be enough? And I have specific questions about the items I changed:
- What specifically does Limit Interval setting under CPU mean? Does it mean that if a certain CPU usage is exceeded, the application pool will be recycled?
- What exactly does "recycled" mean? Is the application completely torn down and started up again?
- What is the difference between "Worker Process shutdown" and "Application Pool recycling"? The documentation for the Idle Time-out under Process Model talks about shutting down the worker process. While the docs for Regular Time Interval under Recycling talk about application pool recycling. I don't quite grok the difference between the two. I thought the w3wp.exe is the worker process which runs the application pool. Can someone explain the difference to the application between the two?
The reason for having IIS7 and IIS7.5 tags is because the app will run in both and hope the answers are the same between the versions.
Image for reference:
© Server Fault or respective owner