]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: servers/proxies: Switch to using per-tgroup queues.
authorOlivier Houchard <ohouchard@haproxy.com>
Wed, 15 Jan 2025 15:44:05 +0000 (16:44 +0100)
committerOlivier Houchard <cognet@ci0.org>
Tue, 28 Jan 2025 11:49:41 +0000 (12:49 +0100)
commit26b3e5236fc93baeec0df7c6c4c23a20d1985749
tree8713d2cba25deb4a6a9e51b13723171b890d80f0
parent583303c48b34054dfd1626954a46cf4e7655d17c
MEDIUM: servers/proxies: Switch to using per-tgroup queues.

For both servers and proxies, use one connection queue per thread-group,
instead of only one. Having only one can lead to severe performance
issues on NUMA machines, it is actually trivial to get the watchdog to
trigger on an AMD machine, having a server with a maxconn of 96, and an
injector that uses 160 concurrent connections.
We now have one queue per thread-group, however when dequeueing, we're
dequeuing MAX_SELF_USE_QUEUE (currently 9) pendconns from our own queue,
before dequeueing one from another thread group, if available, to make
sure everybody is still running.
include/haproxy/defaults.h
include/haproxy/proxy-t.h
include/haproxy/server-t.h
src/backend.c
src/proxy.c
src/queue.c
src/server.c