Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

My Website is hosted across 3 production web servers and uses ASPNET Session management in the db. I have no sticky sessions on the load balancer so every other request goes around the servers in round robin.

Because of this I can't see a problem with allowing the app pool to use more than one worker.

What do I need to check first? Or should I just move forward?

share|improve this question
up vote 3 down vote accepted

What are you trying to achieve by using web gardens? If it is increased performance, then definitely do NOT do this. Web gardens, while advertised by Microsoft documentation and books as increasing performance, typically tend to decrease it - especially if the bottleneck in your application is the cpu.

What they are used for is if you are having reliability problems (your application pools keep crashing) - the web garden can make your application more reliable, but you will probably take a performance penalty for that.

Here is a great blog post that walks through whether you should use web gardens or not:

Also, here is Microsoft's documentation on when it could make sense to use a web garden for performance reasons - but maybe take it with a grain of salt:

share|improve this answer
That blog post is very concise. My problem is that the application decreases in speed every few hours as it uses more memory. I have raised bugs with the development team but they are a way off. I thought that by shortening the recycle period I could add web gardens to keep the app up when one app pool worker recycles. – Stewart Robinson Feb 24 '10 at 11:28
@Stewart Robinson: are you just letting the pools recycle when they run out of memory? If so, how about changing to some sort of staggered time-based recycle (server 1 recycles every hour on the hour, server 2 recycles every hour at 20 after, server 3 recycles every hour at 40 after). – MattB Feb 25 '10 at 15:15

In addition to MattB excellent answer you need to consider impact extra application pools will have on the number of available TCP ports. Keep in mind that there are only so many ports on a server, no matter how many application pools you have. They will all compete for these ports.

share|improve this answer
Did you really intend to say "impact that extra Worker Processes will have on the number of available TCP ports."? – DavidRR Dec 3 '14 at 16:10

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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