Hi Merton, > Please let me know if the above understanding is correct.
Yes, thats the concept. > if I have multiple backends (multiple server options), does the > sum of 'maxconn' of their server options have to be no more than > the 'maxconn' of their corresponding frontend? Yes that does make sense, although you are probably able to do a little oversubscription. > does specify a low 'maxconn' for a server option help improve the > performance of that particular server in any way? Yes it does, because it makes sure your backend servers is never overloaded (by dispatching requests to backends with lower load or queueing them). In fact iirc some of the ruby folk runs their backends with maxconn 1, so a server always handles just one request at the time. > if the connections to a particular backend are long-lived, e.g. > websocket connections, does it imply that I should set a relatively > large 'maxconn' for the server? Probably yes. The question is, how many of those long-lived sessions are concurrently active on how many of them can your backend serve? Here are a few thoughts from another user and a response from Willy about queueing: http://stackoverflow.com/questions/8750518/difference-between-global-maxconn-and-server-maxconn-haproxy Regards, Lukas