Difference between "web farms" and "web garden", DOT NET Programming

What is the difference between "Web farms" and "Web garden"?

The "Web farms" are used to have some redundancy to reduce the failures. It consists of two or more web server of the similar configuration and they stream the similar kind of contents. Whenever any request comes there is a switching / routing logic which decides which web server from the farm handles the request. For instance we have2 servers "Server1"

And "Server2" which have the similar configuration and content. So there is a special switch which stands in between these two servers and the users & routes the request accordingly.

1962_Web farm.png

Figure : - Web Farm in action

The Above figure describes in detail how the web farm work. You can see that there is a router in between which takes a request and sees which one of the server is least loaded and forwards the request to the server. So for the request1 it route's server1, for request2 it routes server2, for request3 it routes to server3 and final request4 is routed to server4. So you can see as we have web farm at place server1 and server2 are loaded with two request each rather than one server loading to full. One more merit of using this kind of architecture is if one of the servers goes down we can still run with another server thus having 24x7 uptime.

The routing logic can be a number of various options:-

1)Round-robin: In this Each node gets a request sent to it "in turn". And hence  , server1 receives  a request, then server2 again, and then server1, then server2 again.

2)Least Active: In this Whichever node show to have the lowest number of current connects receives  new connects sent to it. This is very good  way to help to keep the load balanced between all the server nodes.

3)Fastest Reply: In this Whichever node replies faster is the one that gets the new requests. This is also a very good option - especially if there are nodes that might not be "equal" in performance. If anyone performs better than the another, then send more requests there rather than which is moving slowly?

Before we try to understand what a web garden is let's try to understand how IIS handles all processes. The requests to the IIS are routed to an "aspnet_wp.exe" for IIS 5.0 and "w3wp.exe" for IIS 6.0. In general without the web garden we have one worker process instance ("aspnet_wp.exe" / "w3wp.exe") across all requests. This one instance of the worker process uses the CPU processor as directed by  operating system.

150_web garden.png

Figure: - With out Web Garden

But whenever we enable the web garden for a web server it creates various instances of the worker process and each of these worker processes runs on various CPU. You can see in the diagram given below we have different worker process instances created which run on varoius CPU's.

2104_web garden1.png

Figure  : - With Web Garden

In brief we can define a model in which multiple processes run on the multiple CPUs in a single server machine are defined as a Web garden.

Posted Date: 9/22/2012 6:31:24 AM | Location : United States







Related Discussions:- Difference between "web farms" and "web garden", Assignment Help, Ask Question on Difference between "web farms" and "web garden", Get Answer, Expert's Help, Difference between "web farms" and "web garden" Discussions

Write discussion on Difference between "web farms" and "web garden"
Your posts are moderated
Related Questions
How to decide on the design consideration to take a Datagrid, datalist or repeater? So many make a blind choice of choosing datagrid directly, but that is not the right way.


The ADO.NET gives the SqlCommand object which gives the functionality of executing the stored procedures. CREATE PROCEDURE SelectByEmployee @FirstName nvarchar(200) AS Se

Can you define what inheritance is and an example of when you might use it? The process of deriving a new class from an existing class is known as Inheritance. The old class is

Urgently seeking a senior Extjs developer with strong NET developing skill Project Description: Urgently seeking a senior Extjs developer with strong NET developing skill

Media Player App Development for Windows 8.1 platform with outstanding UI, flexible controls and simple to use. The app should be consist of 1. Normal player controls 2. s

This is a Customer Management project. Customer data is offered in a text file. The program may load this text data into its database columns. The data mapping is user definable. U

Describe the EventLog class. The EventLog class is used to access the Windows event logs from Windows services. Using EventLog, you can also customize Windows event logs that r

NopCommerce v3.10 - Content Page Creation, Product Import and Site Customization Project Description: I have an existing website with about 800 products and we could like to

I need C# API for bitfinex Project Description: Hi, I need a developer to build a library in C# that connects to the bitfinex API. The library must implement all the authenti