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 


      

Reply via email to