mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-07 22:12:08 +00:00
haproxy public development tree
At this point, the random used in the hybrid queue distribution algorithm provides little benefit over a periodic scan, can even have a slightly worse worst case, and it requires to establish a mapping between a discrete number and a thread ID among a mask. This patch introduces a different approach using two indexes. One scans the thread mask from the left, the other one from the right. The related threads' loads are compared, and the least loaded one receives the new connection. Then one index is adjusted depending on the load resulting from this election, so that we start the next election from two known lightly loaded threads. This approach provides an extra 1% peak performance boost over the previous one, which likely corresponds to the removal of the extra work on the random and the previously required two mappings of index to thread. A test was attempted with two indexes going in the same direction but it was much less interesting because the same thread pairs were compared most of the time with the load climbing in a ladder-like model. With the reverse directions this cannot happen. |
||
---|---|---|
.github/ISSUE_TEMPLATE | ||
contrib | ||
doc | ||
ebtree | ||
examples | ||
include | ||
reg-tests | ||
scripts | ||
src | ||
tests | ||
.gitignore | ||
CHANGELOG | ||
CONTRIBUTING | ||
INSTALL | ||
LICENSE | ||
MAINTAINERS | ||
Makefile | ||
README | ||
ROADMAP | ||
SUBVERS | ||
VERDATE | ||
VERSION |
The HAProxy documentation has been split into a number of different files for ease of use. Please refer to the following files depending on what you're looking for : - INSTALL for instructions on how to build and install HAProxy - LICENSE for the project's license - CONTRIBUTING for the process to follow to submit contributions The more detailed documentation is located into the doc/ directory : - doc/intro.txt for a quick introduction on HAProxy - doc/configuration.txt for the configuration's reference manual - doc/lua.txt for the Lua's reference manual - doc/SPOE.txt for how to use the SPOE engine - doc/network-namespaces.txt for how to use network namespaces under Linux - doc/management.txt for the management guide - doc/regression-testing.txt for how to use the regression testing suite - doc/peers.txt for the peers protocol reference - doc/coding-style.txt for how to adopt HAProxy's coding style - doc/internals for developer-specific documentation (not all up to date)