Non-global maxconn when nbproc > 1


#1

I understand that the global maxconn is the maximum number of concurrent connections per process. If I want my HAProxy to be able to handle 120k concurrent connections max and I have specified ‘nbproc 4’, I will set the global maxconn to 30000.

Imagine I have a single frontend and a single backend defined, and I want to allow for 120k max concurrent connections to them, too. When I am running with ‘nbproc 4’, should maxconn for the frontend binds and for the backend also be set to 30000? Or is maxconn in these sections specifying aggregate maximum connections for the frontend/backend across all running haproxy processes?

If it makes a difference, I am using HAProxy 1.5.


#2

Everything you configure in the configuration is for a single process, there are no inter-process aggregates when talking about maxconn.

Backends actually don’t use maxconn at all; rather you should be setting per-server maxconn values (to avoid overloading single servers).

So global, frontend and backend-server (but not the backend itself) maxconn values are what is important.