mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-16 02:30:46 +00:00
haproxy public development tree
fa7b4f6691
Pipelining commands on the CLI is sometimes needed for batched operations such as map deletion etc, but it causes two problems: - some possibly long-running commands will be run in series without yielding, possibly causing extremely long latencies that will affect quality of service and even trigger the watchdog, as seen in github issue #1515. - short commands that end on a buffer size boundary, when not run in interactive mode, will often cause the socket to be closed when the last command is parsed, because the buffer is empty. This patch proposes a small change to this: by yielding in the CLI applet after processing a command when there are data left, we significantly reduce the latency, since only one command is executed per call, and we leave an opportunity for the I/O layers to refill the request buffer with more commands, hence to execute all of them much more often. With this change there's no more watchdog triggered on long series of "del map" on large map files, and the operations are much less disturbed. It would be desirable to backport this patch to stable versions after some period of observation in recent versions. |
||
---|---|---|
.github | ||
addons | ||
admin | ||
dev | ||
doc | ||
examples | ||
include | ||
reg-tests | ||
scripts | ||
src | ||
tests | ||
.cirrus.yml | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
.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)