Hi,
I recently upgraded haproxy to 1.3.17.
I use dst_conn to divert the excess server load to an alternate backend. I'm
exploring the possibility of using connslots instead of dst_conn. But to me
both look the same.
My main backend has a pool of 5 servers. Each server handles 100 requests. The
number 100 includes 20 concurrent, in-process requests + 80 in-queue requests.
I've following configuration:
acl use_main dst_conn lt 500
use_backend main if use_main
default_backend alternate
Using connslots the configuration looks like,
acl nearly_full connslots(main) lt 500
use_backend alternate if nearly_full
default_backend alternate
I'm not too clear about the value of connslots. The documentation says that
connslots is defined per backend. My each server handles 100 requests (maxconn
= 20 + maxqueue = 80, Total = 100). There are 5 servers in main backend. What
if I add a server or remove a server from the backend? Do I have to set the
value of connslots again? manually?
With reference to my configuration, I was expecting the value of connslots to
be 100 and not 500. So that I don't have to update this value whenever I
add/delete servers from my backend.
Please share your experiences and help me calrify connslots value.
Also I'm not too sure about the syntax of using connslots. The documentation
says,
connslots(backend) <integer>
But haproxy 1.3.17 complains with that syntax. I changed the syntax to,
connslots(backend) lt <integer>
The haproxy 1.3.17 does not complain.
Regards,
Ninad