]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
DOC: config: mention that idle connection sharing is per thread-group
authorWilly Tarreau <w@1wt.eu>
Wed, 28 Jan 2026 16:18:50 +0000 (17:18 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 28 Jan 2026 16:18:50 +0000 (17:18 +0100)
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

index 4de08f5043142e5ff8241bb7f20daa1e5b3e02d0..52c2bf60bffb3aa77409aff52d8f5a0df2423386 100644 (file)
@@ -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 <timeout>
   Sets the duration after which HAProxy will consider that an empty buffer is