Hello,

I've been going through haproxy in depth recently, but I can't quite
figure out the details with full, min, and maxconn.

First of all, fullconn confuses me, and this example doesn't help

>  Example :
>     # The servers will accept between 100 and 1000 concurrent connections each
>     # and the maximum of 1000 will be reached when the backend reaches 10000
>     # connections.
>     backend dynamic
>        fullconn   10000
>        server     srv1   dyn1:80 minconn 100 maxconn 1000
>        server     srv2   dyn2:80 minconn 100 maxconn 1000

What's the point of the "fullconn 10000" here? Won't the servers
already be maxed out at 2000 connections, and already at their
respective maximums long before 10000 connections are made?

Is using minconn+maxconn+fullconn simply to give finer grained control
over resource allocation than you could get with the load-balancing
algo + weights? Is there a common use case for minconn, or is it one
of those options the majority users never need?


Maxconn can be declared in defaults, frontend, listen, under server,
and global as well. Does the first limit hit take priority; e.g. if I
set "maxconn 10" in global, are my *total* connections for everything
limited to 10? Should I set:
  (global maxconn) >= sum(frontend maxconns) >= sum(server maxconns)



Thanks!
-jim

Reply via email to