From 0bb686a72df856861fe81f7abbc9503ff3163a8f Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 19 Feb 2026 15:30:01 +0100 Subject: [PATCH] MINOR: haterm: increase thread-local pool size QUIC uses many objects and the default pool size causes a lot of thrashing at the current request rate, taking ~12% CPU in pools. Let's increase it to 3MB, which allows us to reach around 11M req/s on a 80-core machine. --- src/haterm_init.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/haterm_init.c b/src/haterm_init.c index acb6caf96..b59ce170f 100644 --- a/src/haterm_init.c +++ b/src/haterm_init.c @@ -330,6 +330,16 @@ void haproxy_init_args(int argc, char **argv) haterm_usage(progname); } + if (hbuf_is_null(&gbuf)) { + /* use 3MB of local cache per thread mainly for QUIC */ + if (hbuf_alloc(&gbuf) == NULL) { + ha_alert("failed to allocate a buffer.\n"); + goto leave; + } + hbuf_appendf(&gbuf, "global\n"); + hbuf_appendf(&gbuf, "\ttune.memory.hot-size 3145728\n"); + } + /* "global" section */ if (!hbuf_is_null(&gbuf)) hbuf_appendf(&mbuf, "%.*s\n", (int)gbuf.data, gbuf.area); -- 2.47.3