Answers
Jan 25, 2007 - 02:46 AM
dustPuppy,
Your assumptions are pretty much spot on.
When the worker process in .NET recycles - either explicitly or in response to an encountered error - it unloads all applications (sites) running under that worker process. When it restarts, it will take a bit of time to reload all the assemblies used in that process, any application-level tasks for each application, and the application assemblies when they are first called.
Effectively the two scenarios - shutting down the Worker Process during idle, and recycling the app pools - do the same thing: release memory resources being used back to the system.
The perception to that first user starting up an application (site) for the first time should be minimal, if at all, unless you've got a monster of an assembly to compile on first use.
Basically, it's "garbage collection" for the memory used by the worker process and the app pools.
I hope this helps,
Ric
Your assumptions are pretty much spot on.
When the worker process in .NET recycles - either explicitly or in response to an encountered error - it unloads all applications (sites) running under that worker process. When it restarts, it will take a bit of time to reload all the assemblies used in that process, any application-level tasks for each application, and the application assemblies when they are first called.
Effectively the two scenarios - shutting down the Worker Process during idle, and recycling the app pools - do the same thing: release memory resources being used back to the system.
The perception to that first user starting up an application (site) for the first time should be minimal, if at all, unless you've got a monster of an assembly to compile on first use.
Basically, it's "garbage collection" for the memory used by the worker process and the app pools.
I hope this helps,
Ric
Jan 25, 2007 - 04:55 AM
thanks, Ric. I do have an issue with it taking a little to long time to "restart" afterwards.
But in principle if the application is running alone on a dedicated server, there should be no reason to recycle, unless it's because of an error detected by IIS where the application doesn't respond, right?
But in principle if the application is running alone on a dedicated server, there should be no reason to recycle, unless it's because of an error detected by IIS where the application doesn't respond, right?
Jan 25, 2007 - 07:57 AM
That's correct, dust...there are a few other errors (memory leaks being one) that will cause IIS to restart the app pool or the worker process. Of course, that should never happen, either, because us developers *never* make mistakes that would cause a memory leak!
Ric
Ric
Jan 25, 2007 - 08:01 AM
Thx guys! Here comes the points
Add New Comment