I suggest you use balance leastconn instead of roundrobin. That way the weights effect the ratios, but they are not locked in. If a server clears connections faster than the others, it will get more requests... if it falls behind it will get less...
Given that multiple factors impact how many req/s a server can do such as number of cores, it's possible one server is faster at low loads with low latency responses, but under heavy loads a different server might have higher latency but can actually handle more simultaneous connections better and in total be faster. > -----Original Message----- > From: Ivan Hernandez [mailto:ihernan...@kiusys.com] > Sent: Wednesday, September 28, 2011 7:08 AM > To: haproxy@formilux.org > Subject: HAProxy 1.4.8 Tunning for load balancing 3 servers > > Hello, > > I have 3 webservers, a little old one that can handle 350req/s, a middle > one that handles 1700req/s and a bigger one that handles 2700req/s on > tests with the apache benchmark tool with 128 simultaneous connections. > So I decided to put haproxy as load balancer in other server so i can > (theorically) reach up to 4500req/s. > > I worked for a while trying many different configurations but the > systems seems to have a limit of the fastest server on the whole > cluster. If I take out from the cluster 1 or 2 servers, the haproxy > performance is always the same of the fastest server in the cluster. > Of course, load of each individual server goes down, what means that > requests are distributed between them, but speed doesn't goes up. > > So, here I copy my config in case it has some obvious error: > > Thanks ! > Ivan > > global > log 127.0.0.1 local0 > log 127.0.0.1 local1 notice > maxconn 8192 > user haproxy > group haproxy > > defaults > log global > retries 3 > maxconn 8192 > contimeout 5000 > clitimeout 50000 > srvtimeout 50000 > > listen web-farm 0.0.0.0:80 > mode http > option httpclose > option abortonclose > balance roundrobin > server small 192.168.1.100:80 weight 1 check inter 2000 rise 2 fall 5 > server medium 192.168.1.101:80 weight 2 check inter 2000 rise 2 fall 5 > server big 192.168.1.102:80 weight 8 check inter 2000 rise 2 fall 5 >