From: Willy Tarreau Date: Wed, 28 Jan 2026 16:18:50 +0000 (+0100) Subject: DOC: config: mention that idle connection sharing is per thread-group X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bb36836d767cdc49f4efc8175627498f4fb41529;p=thirdparty%2Fhaproxy.git DOC: config: mention that idle connection sharing is per thread-group There's already a tunable "tune.idle-pool.shared" allowing to enable or disable idle connection sharing between threads. However the doc does not mention that these connections are only shared between threads of the same thread group, since 2.7 with commit 15c5500b6e ("MEDIUM: conn: make conn_backend_get always scan the same group"). Let's clarify this and also give a hint about "max-threads-per-group" which can be helpful for machines with unified caches. --- diff --git a/doc/configuration.txt b/doc/configuration.txt index 4de08f504..52c2bf60b 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -4527,7 +4527,11 @@ tune.idle-pool.shared { on | off } disabling this option without setting a conservative value on "pool-low-conn" for all servers relying on connection reuse to achieve a high performance level, otherwise connections might be closed very often as the thread count - increases. + increases. Note that in any case, connections are only shared between threads + of the same thread group. This means that systems with many NUMA nodes may + show slightly more persistent connections while machines with unified caches + and many CPU cores per node may experience higher CPU usage. In the latter + case, the "max-thread-per-group" tunable may be used to improve the behavior. tune.idletimer Sets the duration after which HAProxy will consider that an empty buffer is