1

I am working on an application which has overlapped recycling enabled. The process initialization time can be non-trivial since we implement IProcessHostPreloadClient to perform some time consuming warmup before the worker process becomes available.

To my surprise, if a user goes into IIS Management Studio, and presses recycle repeatedly within the time it takes a recycle to complete (as users, or testers, are wont to do!), I can end up with 3, 4 or more worker processes running concurrently. I would have expected a maximum of two since I thought IIS would recognize that it was midway through a recycle and discard any 'duplicates'

So my question is: Is it possible to limit overlapped recycle to a single overlapped recycle, rather than multiple?

0

1 Answer 1

2

This is nothing to be concerned about and is normal.

The processes aren't actually "duplicates". When a pool is recycled using overlapped recycling, the old pool is kept running to service any remaining requests running at that time before shutting down.

So when you keep hitting recycle in short succession you are always going to leave a trail of pools that are winding down.

Subsequent requests will always hit the newly spun up worker process.

1
  • Thanks for the answer. The problem though, is that in my case, it is something to worry about. Each worker process can use significant amounts of memory (possibly 10GB), and having four of those running in parallel is a problem, even if the trail of pools do eventually get torn down. In the interim period the machine grinds to a halt! I guess the problem is that because we have implemented IProcessHostPreloadClient it is the 'wind up' time rather than the 'wind down' time that is significant, which probably isn't the 'expected' behaviour when hitting recycle.. Apr 18, 2011 at 9:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .