When do you need IIS Web Garden feature. What's pro's and con's?
3 Answers
Complete answer from David Wang.
Pros:
- An interim solution for faulty applications.
Cons:
- Worse overall performance.
- Prevent the use of session state in the process. So in statefull application you have another performance penalty to serialize the state to an external store.

- 10,558
- 3
- 35
- 40
If you have a multi-processor web-server (and most environments do have one) and performance is low and CPU utilization is low as well, you might want to consider a web garden. The basic idea is that instead of a single worker process for the IIS Service, a garden has one worker process per CPU, thereby boosting performance.

- 47,048
- 33
- 131
- 198
-
14But threads within a single worker process also utilize multiple CPU's. – hakan May 17 '10 at 12:25
Web Gardens help immensely with improving process intensive managed code. Without WG, all threads servicing requests contend for same resources. When threads attempt to allocate memory, they often induce Garbage Collection. The Garbage Collection activity freezes all threads while it cleans up memory and grants the request. This happens for almost every running thread. By splitting the workload over multiple processes, each process has its own managed memory space and its own garbage collections. Overall CPU processing goes up only marginally, but CPU% for the W3WP.exe drops significantly, transaction execution time drops, and transactions per second rate goes up.

- 1
-
1This is a lot of nonsense. *Without WG, all threads... contend for same resources* A WG still contends for the same pool of server resources, but adds the overhead of an additional process to the mix. *When threads attempt to allocate memory, they often induce garbage collection* A WG's only effect on this is to make it *worse*, by adding even more threads to the mix (each process gets its own set of worker threads, which is ostensibly the *reason* for having a WG in the first place). *Each process has its own managed memory space* again; making things *worse*, not better.... cont... – Andrew Barber Aug 31 '12 at 20:40
-
*Overall CPU processing goes up only marginally* if that's true, then WG wasn't the correct solution in the first place (async operations would have been better) *but the CPU for W3WP.exe drops significantly* complete nonsense, *transaction time drops and transactions per second rate goes up* rarely; if the app was badly designed in the first place. – Andrew Barber Aug 31 '12 at 20:42