The relevant part of my /etc/haproxy/haproxy.cfg
is:
global
maxconn 30000
...
defaults
...
frontend frontend_for_all_sites
maxconn 22000
mode http
bind *:80
acl acl_hostname_www hdr_dom(host) www.example.com
acl acl_hostname_static hdr_dom(host) static.example.com
use_backend www_backend if acl_hostname_www
use_backend static_backend if acl_hostname_static
backend www_backend
server www 127.0.0.1:9090 maxconn 500
backend static_backend
server s 127.0.0.1:8080 maxconn 5000
So, I have 2 backends with only 1 backend each, without load balancing, but just proxying requests to different backends based on the request's hostname.
On the www
backend I've set maxconn 500 and on the static
backend I've set it to 5000.
The stats page now looks like this:
My question is what does the "Backend Limit" of 2200 for both backends represent? I understand that this value is 10% of the 22000 maxxconn on frontend_for_all_sites
. Does this 2200 mean that the maximum amount of connections that the backends will process is 2200 and above that haproxy will return a 503?
2200
inBackend Limit
is the value offullconn
which is by default 10% of maxconn of frontend.No, the maximum amount of connections is sum of maxconn