Re: HA queues when it should not (yet)?

2012-08-08 Thread Baptiste
I strongly advice you to read the documentation about minconn (and
fullconn as well, they are linked together) :)
minconn is the value at which HAProxy will start queueing.
your fullconn values is useless to me: it should be greater. The
fullconn value is the value at which you want your maxconn to be
reached on your servers. Below this value, HAProxy will increase it on
a ramp between the minconn and the maxconn: its purpose is to avoid
using too much capacity of your server when you know you're already in
the dangerous area (the capacity zone where your servers starts
slowing down but have still enough capacty).

In your case, as soon as you have 4 requests running on a server the
next one might be queued, depending on the status of the other servers
(queueing or not queueing).
HAProxy won't send a request to a server which is queueing if some
other servers has still some slots available (unless you have a
predictible algorithm or persistence enabled).

Baptiste


On Tue, Aug 7, 2012 at 4:52 PM, Christian Parpart tra...@gmail.com wrote:
 On Tue, Aug 7, 2012 at 4:44 PM, Baptiste bed...@gmail.com wrote:

 Hi,

 If you have enabled minconn, it's an expected behavior :)
 otherwise, sharing your conf, screenshot and haproxy version would help a
 lot.


 Sorry for that, yep, we're using minconn (don't ask me why, I did not set it
 up) and
 maxconn to not overload the backends, and requests are only queued per LB
 not per backend.

 our $fullconn is the sum of all $maxconn's:

 listen  dawanda_cluster *:8700
 option httpchk GET /home/alive
 option httpclose
 balance roundrobin
 fullconn 361
 server c5 192.168.2.25: weight 1 minconn 4 maxconn 15 check inter 1
 server app2 192.168.3.2: weight 1 minconn 4 maxconn 8 check inter 1
 server app3 192.168.3.3: weight 1 minconn 4 maxconn 8 check inter 1
 server app5 192.168.3.5: weight 1 minconn 4 maxconn 12 check inter 1
 server app6 192.168.3.6: weight 1 minconn 4 maxconn 12 check inter 1
 server app11 192.168.3.11: weight 1 minconn 4 maxconn 12 check inter
 1
 server app16 192.168.3.16: weight 1 minconn 4 maxconn 12 check inter
 1
 server app17 192.168.3.17: weight 1 minconn 4 maxconn 12 check inter
 1
 server app31 192.168.3.31: weight 1 minconn 4 maxconn 30 check inter
 1
 server app32 192.168.3.32: weight 1 minconn 4 maxconn 30 check inter
 1
 server app33 192.168.3.33: weight 1 minconn 4 maxconn 30 check inter
 1
 server app35 192.168.3.35: weight 1 minconn 4 maxconn 30 check inter
 1
 server app36 192.168.3.36: weight 1 minconn 4 maxconn 30 check inter
 1
 server app37 192.168.3.37: weight 1 minconn 4 maxconn 30 check inter
 1
 server app50 10.10.40.9: weight 1 minconn 4 maxconn 30 check inter 1
 server app51 10.10.40.10: weight 1 minconn 4 maxconn 30 check inter
 1
 server app52 10.10.40.5: weight 1 minconn 4 maxconn 30 check inter 1

 Regards,
 Christian.



Re: HA queues when it should not (yet)?

2012-08-07 Thread Baptiste
Hi,

If you have enabled minconn, it's an expected behavior :)
otherwise, sharing your conf, screenshot and haproxy version would help a lot.

Baptiste



Re: HA queues when it should not (yet)?

2012-08-07 Thread Christian Parpart
On Tue, Aug 7, 2012 at 4:44 PM, Baptiste bed...@gmail.com wrote:

 Hi,

 If you have enabled minconn, it's an expected behavior :)
 otherwise, sharing your conf, screenshot and haproxy version would help a
 lot.


Sorry for that, yep, we're using minconn (don't ask me why, I did not set
it up) and
maxconn to not overload the backends, and requests are only queued per LB
not per backend.

our $fullconn is the sum of all $maxconn's:

listen  dawanda_cluster *:8700
option httpchk GET /home/alive
option httpclose
balance roundrobin
fullconn 361
server c5 192.168.2.25: weight 1 minconn 4 maxconn 15 check inter 1
server app2 192.168.3.2: weight 1 minconn 4 maxconn 8 check inter 1
server app3 192.168.3.3: weight 1 minconn 4 maxconn 8 check inter 1
server app5 192.168.3.5: weight 1 minconn 4 maxconn 12 check inter 1
server app6 192.168.3.6: weight 1 minconn 4 maxconn 12 check inter 1
server app11 192.168.3.11: weight 1 minconn 4 maxconn 12 check inter
1
server app16 192.168.3.16: weight 1 minconn 4 maxconn 12 check inter
1
server app17 192.168.3.17: weight 1 minconn 4 maxconn 12 check inter
1
server app31 192.168.3.31: weight 1 minconn 4 maxconn 30 check inter
1
server app32 192.168.3.32: weight 1 minconn 4 maxconn 30 check inter
1
server app33 192.168.3.33: weight 1 minconn 4 maxconn 30 check inter
1
server app35 192.168.3.35: weight 1 minconn 4 maxconn 30 check inter
1
server app36 192.168.3.36: weight 1 minconn 4 maxconn 30 check inter
1
server app37 192.168.3.37: weight 1 minconn 4 maxconn 30 check inter
1
server app50 10.10.40.9: weight 1 minconn 4 maxconn 30 check inter 1
server app51 10.10.40.10: weight 1 minconn 4 maxconn 30 check inter
1
server app52 10.10.40.5: weight 1 minconn 4 maxconn 30 check inter 1

Regards,
Christian.