Hello,
2017-11-07 17:55 GMT+01:00 Krishna Kumar (Engineering) <[email protected]>: > Hi Lukas, > > On Tue, Nov 7, 2017 at 6:46 PM, Lukas Tribus <[email protected]> wrote: > >> I'd suggest to use maxconn. This limits the amount of connections opened >> to a single server, and is therefor equivalent to in-flight requests. >> That's is >> a more appropriate limit than RPS because it doesn't matter if the >> responses >> take a long time to compute or not. > > Thanks for your suggestion. Unfortunately per server maxconn may be > unsuitable > for our particular case due to 2 reasons: > > 1. We want to modify the limit dynamically at high frequency, e.g. every > second. > maxconn setting on server does not seem to be modifiable at present > without > a reload. We are using haproxy-1.6.3, is this feature present in a newer > release? Yes, in 1.7 you can change server maxconn values in real time using the admin socket: https://cbonte.github.io/haproxy-dconv/1.7/management.html#9.3-set%20maxconn%20server > 2. We have haproxy running on *many* servers, even for a single service (many > configuration files also use nbproc). It is easier to give a RPS=1000 for > the entire > service instead of breaking up per process and per server, which may not > be > possible at the rate we plan. You are reluctant to elaborate on the bigger picture, so I guess generic advice is not what you are looking for. I just hope you are not trying to build some kind of distributed rate-limiting functionality with this. > Is there any way that this can be done at the backend using stick-tables? > We are using haproxy-1.6.3 I don't have enough experience with stick-tables to comment on this generally, but I would suggest you upgrade to a current 1.7 release first of all and retry your tests. There are currently 223 bugs fixed in releases AFTER 1.6.3: http://www.haproxy.org/bugs/bugs-1.6.3.html Maybe someone more stick-table savvy can comment on your specific question. Regards, Lukas

