Tune haproxy for long running sessions to use leastconn
For long running sessions, the leastconn LB is more prefered than the
default roundrobin. For long connections, it picks the least recently
used of the servers with the lowest connection count.
LRU LB strategy that leastconn uses also indirectly reduces the
possibility of cascaded failures by smoothing out the high traffic
spikes, which otherwise may be caused by unequal round-robin
distribution of client connections upon executing it a fail-over to
another backend.
Heat API/cfn provides Orchestration API with a notion of long running
tasks. Neutron server may maintain long running RPC calls to its
agents. Cinder BlockStorage API provides long running volume and
backup actions. Swift Proxy's PutObject etc. and Ceph RGW APIs, like https://docs.ceph.com/docs/master/radosgw/s3/bucketops/, have a notion
of "long running" as well. Ironic Inspector API provides long running
operations, like introspection of BM nodes. All those should benefit
from the leastconn LB switch controlled by the new parameter.
Reviewed: https:/ /review. opendev. org/728779 /git.openstack. org/cgit/ openstack/ puppet- tripleo/ commit/ ?id=c04057b58b3 a13a433f28d229a 8f0908df253b57
Committed: https:/
Submitter: Zuul
Branch: master
commit c04057b58b3a13a 433f28d229a8f09 08df253b57
Author: Bogdan Dobrelya <email address hidden>
Date: Mon May 18 10:14:21 2020 +0200
Tune haproxy for long running sessions to use leastconn
For long running sessions, the leastconn LB is more prefered than the
default roundrobin. For long connections, it picks the least recently
used of the servers with the lowest connection count.
LRU LB strategy that leastconn uses also indirectly reduces the
possibility of cascaded failures by smoothing out the high traffic
spikes, which otherwise may be caused by unequal round-robin
distribution of client connections upon executing it a fail-over to
another backend.
Heat API/cfn provides Orchestration API with a notion of long running /docs.ceph. com/docs/ master/ radosgw/ s3/bucketops/, have a notion
tasks. Neutron server may maintain long running RPC calls to its
agents. Cinder BlockStorage API provides long running volume and
backup actions. Swift Proxy's PutObject etc. and Ceph RGW APIs, like
https:/
of "long running" as well. Ironic Inspector API provides long running
operations, like introspection of BM nodes. All those should benefit
from the leastconn LB switch controlled by the new parameter.
Closes-Bug: #1882927 f7aa2ea07315889 d4a6595d4eb
Change-Id: I9515af738113a3
Signed-off-by: Bogdan Dobrelya <email address hidden>