Is there a way to configure haproxy so it deals with available backends
ressources (number of active connexions) as "sharable quotas", a bit like
Linux IP QoS can do for traffic shaping ?

ie. do a best effort to attribute a minimum number of active cnx for a 
frontend when there are that much requests, but making those ressources 
available to other frontends when they are not in use ?

Imagine you have
- Two websites (siteA, siteB) with two different public IP addresses
- Three webservers (back1, back2, back3), configured to serve both websites
- Each server able to deal with 200 concurrent connexions max at full load.

If you want to reserve 160 actives connexions per server (or 3*160 cnx
for the whole siteA's backend, either way) are available to serve siteA when
it needs all those, and 40 guaranteed to server siteB when it needs them,
can you still share the ressources when one of the site has no need for them
while the other is overloaded ? (when siteB has only 10 active requests,
allow siteA's backend to consumme up to 190 requests per server).

Indeed this can't be enforced in real-time (if siteA borrowed all siteB
connexions and siteB experiences a suden traffic peak, siteB will have to
wait for siteA current connexions to expire/close before he can regain them).

That's for shared hosting web servers, where a traffic peak on a website 
could suck all the backends "slots" (ie. apache childs) for hours.


Reply via email to