]> git.kaiwu.me - haproxy.git/commitdiff
DOC: config: clarify tune tune.bufsize doc regarding various limits
authorWilly Tarreau <w@1wt.eu>
Fri, 4 Sep 2026 06:03:36 +0000 (08:03 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 4 Sep 2026 06:05:18 +0000 (08:05 +0200)
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}.

doc/configuration.txt

index 5ac5eb90d9dccc77d8fd840121a44aa47daf7820..8e3bc2dba62d24809325b5728f5bf0702f43dbf3 100644 (file)
@@ -4175,12 +4175,14 @@ tune.bufsize <size>
   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 <size>
   Sets the size in bytes for large buffers. By defaults, support for large
@@ -4188,7 +4190,7 @@ tune.bufsize.large <size>
 
   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 <size>
 
   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