Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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

I am setting up three different servers where i will have my code. I want these servers to share load these are window 2008 servers. I want them to be setup in a way that request are handled by them randomly and load is shared. are there other options.

share|improve this question

put a reverse proxy doing load balancing in front of them. either hardware or software based. some of more popular linux based:

share|improve this answer

The simplest solution is to list all three IP addresses in DNS. The DNS servers will rotate the IP addresses as they resolve the name. This will give rough load balancing.

Otherwise, you need some sort of load balancer in front of the servers. These may give better load balancing than DNS.

Load balancing with sessions is more difficult, and there are a number of solutions.

share|improve this answer

A good choice in your situation is Microsoft Application Request Routing, ARR. Basically it is an IIS extension, which does Layer 7 (HTTP) load balancing.

Typically you would have one (or 2 for high availability with NLB) servers in front of your webapp servers:

                              |---[IIS app server]
--WAN---[IIS7.5/ARR Server]---|---[IIS app server]
                              |---[IIS app server]

pQd's suggestions are absolutely sound too. The main benefit from using ARR is that it runs on Windows. With ARR you don't need a mixed Windows & Linux environment, which makes administration and security patching simpler. Apache also runs on Windows, but it's not a native app in the sense that its GUI doesn't follow Microsoft's way of doing things etc.

You might benefit from hitting O'Reilly's online bookstore, and buying a book about load balancing.

setup in a way that request are handled by them randomly and load is shared

Yes, that's a good way to go. Keep in mind that all servers must be able to access session data (login cookies, shopping cart contents, etc), so you need a shared session data store (Microsoft StateServer, your SQL database, Project Velocity etc.)

share|improve this answer

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.