From bb36836d767cdc49f4efc8175627498f4fb41529 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 28 Jan 2026 17:18:50 +0100 Subject: [PATCH] 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. --- doc/configuration.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 -- 2.47.3