From: Willy Tarreau Date: Fri, 4 Sep 2026 06:03:36 +0000 (+0200) Subject: DOC: config: clarify tune tune.bufsize doc regarding various limits X-Git-Tag: v3.5-dev7~83 X-Git-Url: https://git.kaiwu.me/?a=commitdiff_plain;h=fc5ad42d8f52e3c9e82f192ef0d6719952915656;p=haproxy.git DOC: config: clarify tune tune.bufsize doc regarding various limits This mentions the 256 MB hard limit, and also clarifies that it's HTTP request and response *headers* which are concerned by the bufsize limit. Also added some cross-references with tune.bufsize.{large,small}. --- diff --git a/doc/configuration.txt b/doc/configuration.txt index 5ac5eb90d..8e3bc2dba 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -4175,12 +4175,14 @@ tune.bufsize statistics, and values larger than default size will increase memory usage, possibly causing the system to run out of memory. At least the global maxconn parameter should be decreased by the same factor as this one is increased. In - addition, use of HTTP/2 mandates that this value must be 16384 or more. If an + addition, use of HTTP/2 mandates that this value must be 16384 or more. The + value must also be below 256 MB (268435456 bytes). If the header block of an HTTP request is larger than (tune.bufsize - tune.maxrewrite), HAProxy will - return HTTP 400 (Bad Request) error. Similarly if an HTTP response is larger - than this size, HAProxy will return HTTP 502 (Bad Gateway). Note that the - value set using this parameter will automatically be rounded up to the next - multiple of 8 on 32-bit machines and 16 on 64-bit machines. + return an HTTP 400 (Bad Request) error. Similarly if the header block of an + HTTP response is larger than this size, HAProxy will return an HTTP 502 (Bad + Gateway) error. Note that the value set using this parameter will + automatically be rounded up to the next multiple of 8 on 32-bit machines and + 16 on 64-bit machines. See also: tune.bufsize.large, tune.bufsize.small. tune.bufsize.large Sets the size in bytes for large buffers. By defaults, support for large @@ -4188,7 +4190,7 @@ tune.bufsize.large These buffers are designed to be used in some specific contexts where more data must be bufferized without changing the size of regular buffers. The - large buffers are not implicitly used. + large buffers are not implicitly used. See also: tune.bufsize. Note that when large buffers are configured, three special large buffers will be allocated for each threads during startup for internal usage. @@ -4203,7 +4205,7 @@ tune.bufsize.small For the moment, it is automatically used only by HTTP/3 protocol to emit the response headers. Otherwise, small buffers support can be enabled for - specific proxies via the "use-small-buffers" option. + specific proxies via the "use-small-buffers" option. See also: tune.bufsize. See also: option use-small-buffers