Re: Soft Affinity

From: Holger Just <haproxy#meine-er.de>
Date: Wed, 06 Aug 2008 11:30:35 +0200


haproxy.20.micorreo#spamgourmet.com wrote:

> 2008/8/5 Holger Just - haproxy#meine-er.de

>>
>> defaults
>> mode http
>> option redispatch
>> timeout queue 200
>>
>> frontend proxy 192.186.1.10:80
>> balance url_param my_param
>>
>> acl g1 url_sub my_param=g1
>> acl g2 url_sub my_param=g2
>> acl g3 url_sub my_param=g3
>>
>> use_backend group1 if g1
>> use_backend group2 if g2
>> use_backend group3 if g3
>> default_backend all_servers
>>
>> backend group1
>> balance roundrobin
>> maxconn 200
>> server app1 192.168.1.11:80 maxconn 50 minconn 20
>> server app2 192.168.1.12:80 maxconn 50 minconn 20
>>
>> backend group2
>> balance roundrobin
>> maxconn 300
>> server app3 192.168.1.13:80 maxconn 50 minconn 20
>> server app4 192.168.1.14:80 maxconn 50 minconn 20
>> server app5 192.168.1.15:80 maxconn 50 minconn 20
>>
>> backend group3
>> balance roundrobin
>> maxconn 100
>> server app6 192.168.1.16:80 maxconn 50 minconn 20
>>
>> backend all_servers
>> balance roundrobin
>> maxconn 3000
>> server app1 192.168.1.11:80 maxconn 50 minconn 20
>> server app2 192.168.1.12:80 maxconn 50 minconn 20
>> server app3 192.168.1.13:80 maxconn 50 minconn 20
>> server app4 192.168.1.14:80 maxconn 50 minconn 20
>> server app5 192.168.1.15:80 maxconn 50 minconn 20
>> server app6 192.168.1.16:80 maxconn 50 minconn 20
>>
> 
> Hello Holger,
> 
>  I was in the same problem and it was solved using httpclose to avoid
> clients to use keepalive and release the socket as quickly as
> possible.
> 
> Saludos,
> Manuel
> 

Hi Manuel!

Thanks. I already figured, that "option httpclose" would be a good idea to get rid of some of my (unrelated) problems.

However, it is still not clear to me whether a request will be redispatcht to another group if the queue of the original group is full. According to the acls, I assume, that it will always be redispached to its original group.

I think here are 2 main problems which are unclear (at least to me):

  1. If a request is dropped from a queue because of "timeout queue", is it redispatched at all? The manual states the connection is dropped and a HTTP 503 is returned to the client.
  2. If it is redispatched, can we expect that "option redispatch" works the same for cookie based affinity as stated in the manual an the url parameter variant needed here? I assume not. What would be the possible alternatives?

Greetings,
Holger

P.S. In the quote above, I now applied correct syntax for the acls. They were incorrect in my first post. Received on 2008/08/06 11:30

This archive was generated by hypermail 2.2.0 : 2008/08/06 11:45 CEST