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

Reply via email to