mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-12 08:49:29 +00:00
haproxy public development tree
1dfc9bbdc6
Now that we can more accurately watch which connection is really being woken up from itself, it was desirable to re-adjust the CPU BW thresholds based on measurements. New tests with 60000 concurrent connections were run at 100 Gbps with unbounded queues and showed the following distribution: scenario TC0 TC1 TC2 observation -------------------+---+---+----+--------------------------- TCP conn rate : 32, 51, 17 HTTP conn rate : 34, 41, 25 TCP byte rate : 2, 3, 95 (2 MB objets) splicing byte rate: 11, 6, 83 (2 MB objets) H2 10k object : 44, 23, 33 client-limited mixed traffic : 18, 10, 72 2*1m+1*0: 11kcps, 36 Gbps The H2 experienced a huge change since it uses a persistent connection that was accidently flagged in the previous test. The splicing test exhibits a higher need for short tasklets, so does the mixed traffic test. Given that latency mainly matters for conn rate and H2 here, the ratios were readjusted as 33% for TC0, 50% for TC1 and 17% for TC2, keeping in mind that whatever is not consumed by one class is automatically shared in equal propertions by the next one(s). This setting immediately provided a nice improvement as with the default settings (maxpollevents=200, runqueue-depth=200), the same ratios as above are still reported, while the time to request "show activity" on the CLI dropped to 30-50ms. The average loop time is around 5.7ms on the mixed traffic. In addition, one extra stress test at 90.5 Gbps with 5100 conn/s shows 70-100ms CLI request time, with an average loop time of 17 ms. |
||
---|---|---|
.github | ||
contrib | ||
doc | ||
ebtree | ||
examples | ||
include | ||
reg-tests | ||
scripts | ||
src | ||
tests | ||
.cirrus.yml | ||
.gitignore | ||
.travis.yml | ||
BRANCHES | ||
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 - BRANCHES to understand the project's life cycle and what version to use - 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)