Understanding Web Garden and Web Farm in IIS

Shailendra Chauhan  Print 
26 Feb 2017
27 Feb 2017
Intermediate
9.91K

Web Garden

By default, each application pool runs with a single worker process (W3Wp.exe). When an application pool runs with multiple worker process, it is called web garden.

Web Garden

You can set multiple worker process for an application pool as shown in below steps.

Step 1:

Web Garden Step1

Step 2:

Web Garden Step2

Advantage of Web Garden:

A Web garden share the requests which comes for that application pool and if one worker process fails to process a request then another worker process can continue to process that request.

Limitation of Web Garden:

There are some limitations with Web Garden. When you use session mode to “In Proc" with your application, it will not work properly as expected; since session will be handled by different worker process. For avoiding this issue; you should use session mode "Out Proc" having "Session State Server" or "SQL-Server Session State".

Web Farm

When a web application is hosted on multiple web servers and access based on the load on servers, it is called Web Farm.

Web Farm

In web farm, a single application is hosted on multiple IIS server and these IIS servers are connected with the VIP (Virtual IP) with load balancer. Load balancer IPs is exposed to external world for accessing your web application. Hence, when a request comes to server from client, it first hits the load balancer, and then based on the traffic on each server; load balancer distributes the request to the corresponding web server.

Advantage of Web Garden:

  1. It provides high availability. If any of the web servers goes down then Load balancer redirects the incoming requests to other web servers in the web farm.

  2. It provides high performance response for client requests.

Limitation of Web Farm:

There are some limitations with Web Farm; also. When you use session mode to “In Proc" with your application, it will not work properly as expected; since session will be handled by different web servers. For avoiding this issue; you should use session mode "Out Proc" having "Session State Server" or "SQL-Server Session State".

What do you think?

I hope now you have better understanding about Web Garden and Web Farm in IIS. Your valuable feedback, question, or comments about this article are always welcome.

Hands-on Learning
Free Interview Books
 
+