Question : Application Pools: The Web Garden / Worker Processes...

Background:  I have a web site/application that for some reason would start queuing requests and just crash.  Until now been too big to identify the exact reason why.  A midterm solution was to restart IIS when this happened through a batch file, but it got bad recently that IIS was restarting every minute or so.  I just noticed in the application pool the Web Garden was set to 1, and changed it to 4, which seems to have fixed the issue.

The Concern & Question:  What if one of these worker processes crashes?  Will 3 process continue to run, but possible the fourth dies, and 1/4 of all requests to this web site die as well?  Worst case - I might check this site and it's running just fine for me - but in reality it's not working for 1/4 of all requests?

It seems from this information

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/659f2e2c-a58b-4770-833b-df96cabe569e.mspx?mfr=true

that when a worker process is tied up other worker processes will accept requests.  SO - hopefully this is good and each worker is smart to know when it can handle more?  But is there concern for a more devious issue of losing 1/4 or even maybe 1/10th of traffic to a crashed process??  And what if one worker process dies, then 6 hours later another, and so on.  Who / what is responsible for restarting a dead worker process?

Thanks!   (IIS6, Windows 2003 Web Server, ASP.Net 2.0.50727)

Answer : Application Pools: The Web Garden / Worker Processes...

Hi,

consider recycling the worker processes at regular intervals, and enable rapid fail detection.  This should help to keep all workers in the pool operating effectively.

Note that this is not really a solution to the problem, just a work around.  You will be much better off to try to locate the cause of the issue and fix that.

Cheers.
Random Solutions  
 
programming4us programming4us