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                                     

Reply via email to