Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I don't know too much about complex server setups (that's why I'm asking the question).

My understanding is that generally you have a "load balancing" server that sends requests to other backend servers. Do all requests come back through the "load balancing" server?

Is there a way to change that? I'm asking because some of my tests show that the bandwidth cap may be the bottleneck. If I had two "front" servers then I'd double the bandwidth.

Is that right?

share|improve this question
    
You are not specifying what kind of servers (what service). Usually the bandwidth is not shared, but again depends what 'load' are you balancing. –  Unreason Sep 27 '10 at 15:46
    
I'm actually using cloud servers. It's funny, their pricing is consistent (double cost mean double ram, cpu). But for some reason each plan increases in bandwidth by 10mbps. Meaning two servers @ $40 per month get more (total) bandwidth than one server @ $80 per month. –  Matthew Sep 27 '10 at 15:50
add comment

3 Answers

up vote 0 down vote accepted

Speaking of http services (and, generally speaking, most of the tcp/ip services) can be balanced via a trivial DNS round-robin.

This is not a very sophisticated approach nor I recommend it for critical environments but is a painless option in many common situations.

If your service listens on "servicename.domainname.com" you can simply create X DNS records pointing to X different servers and the traffic will be balanced (100/X)% to each server (more or less).

Of course, session persistence, mirroring, failure management, database (if any) replication and so on are the real pain here.

M

share|improve this answer
    
The problem with simple DNS round robin is that your name server mostly doesn't know anything about the state of your servers. So even if a real server is down, the client will still try to connect to the server. There are name servers out there that will do health checks, however, on your side, you don't have full control of DNS caching on name servers that clients use and clients that cache by themselves. –  Wouter de Bie Sep 29 '10 at 7:55
add comment

I think this intro about Linux Virtual Server will help you to discover your best solution, specially: Virtual Server via Direct Routing.

share|improve this answer
    
+1 Direct routing is the best option imho. However, you need to be aware of austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.arp_problem.html (which can be solved by some sysctl stuff or iptables) and it can only be done on the same network. –  Wouter de Bie Sep 29 '10 at 7:57
add comment

Also the HA-Proxy can help in that.

http://haproxy.1wt.eu/

Except the load balancing, ha-proxy can offload your servers by sending the images to clients (zipped or not)

Opps, you said without, (sorry) If your servers are web servers aka apache, there is a mod which can do that job called mod_proxy_balancer

share|improve this answer
add comment

Your Answer

 
discard

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.