|
2 | 2 | <html lang="en"> |
3 | 3 | <head> |
4 | 4 | <meta charset="utf-8" /> |
5 | | - <title>HAProxy version 3.4-dev11-2 - Configuration Manual</title> |
| 5 | + <title>HAProxy version 3.4-dev11-5 - Configuration Manual</title> |
6 | 6 | <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> |
7 | 7 | <link href="https://raw.githubusercontent.com/thomaspark/bootswatch/v3.3.7/cerulean/bootstrap.min.css" rel="stylesheet" /> |
8 | 8 | <link href="../css/page.css?0.4.2-15" rel="stylesheet" /> |
|
4733 | 4733 |
|
4734 | 4734 | <a class="list-group-item" href="#tune.stick-counters">tune.stick-counters</a> |
4735 | 4735 |
|
| 4736 | + <a class="list-group-item" href="#tune.streams-elasticity">tune.streams-elasticity</a> |
| 4737 | + |
4736 | 4738 | <a class="list-group-item" href="#tune.takeover-other-tg-connections">tune.takeover-other-tg-connections</a> |
4737 | 4739 |
|
4738 | 4740 | <a class="list-group-item" href="#tune.vars.global-max-size">tune.vars.global-max-size</a> |
|
4920 | 4922 | You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br> |
4921 | 4923 | </p> |
4922 | 4924 | <p class="text-right"> |
4923 | | - <small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2026/05/08</b></small> |
| 4925 | + <small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2026/05/10</b></small> |
4924 | 4926 | </p> |
4925 | 4927 | </div> |
4926 | 4928 | <!-- /.sidebar --> |
|
4931 | 4933 | <div class="text-center"> |
4932 | 4934 | <h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1> |
4933 | 4935 | <h2>Configuration Manual</h2> |
4934 | | - <p><strong>version 3.4-dev11-2</strong></p> |
| 4936 | + <p><strong>version 3.4-dev11-5</strong></p> |
4935 | 4937 | <p> |
4936 | 4938 | 2026/05/08<br> |
4937 | 4939 |
|
@@ -8058,6 +8060,7 @@ <h2 id="chapter-2.10" data-target="2.10"><small><a class="small" href="#2.10">2. |
8058 | 8060 | - <a href="#tune.sndbuf.client">tune.sndbuf.client</a> |
8059 | 8061 | - <a href="#tune.sndbuf.frontend">tune.sndbuf.frontend</a> |
8060 | 8062 | - <a href="#tune.sndbuf.server">tune.sndbuf.server</a> |
| 8063 | + - <a href="#tune.streams-elasticity">tune.streams-elasticity</a> |
8061 | 8064 | - <a href="#tune.stick-counters">tune.stick-counters</a> |
8062 | 8065 | - <a href="#tune.ssl.cachesize">tune.ssl.cachesize</a> |
8063 | 8066 | - <a href="#tune.ssl.capture-buffer-size">tune.ssl.capture-buffer-size</a> |
@@ -11163,6 +11166,37 @@ <h2 id="chapter-3.2" data-target="3.2"><small><a class="small" href="#3.2">3.2.< |
11163 | 11166 | entries. This is a LRU cache. Because generating a SSL certificate |
11164 | 11167 | dynamically is expensive, they are cached. The default cache size is set to |
11165 | 11168 | 1000 entries. |
| 11169 | +</pre><a class="anchor" name="tune.streams-elasticity"></a><a class="anchor" name="3-tune.streams-elasticity"></a><a class="anchor" name="3.2-tune.streams-elasticity"></a><a class="anchor" name="tune.streams-elasticity (Global section)"></a><a class="anchor" name="tune.streams-elasticity (Performance tuning)"></a><div class="keyword"><b><a class="anchor" name="tune.streams-elasticity"></a><a href="#3.2-tune.streams-elasticity">tune.streams-elasticity</a></b> <span style="color: #080"><number></span></div><pre class="text">Defines a target percentage of streams per frontend connection relative to |
| 11170 | +the maximum number of concurrent connections (maxconn) when all connections |
| 11171 | +are established. This metric applies to multiplexed protocols like HTTP/2 or |
| 11172 | +QUIC, where each connection may receive multiple streams. At least one is |
| 11173 | +always guaranteed, so the percentage must be at least 100%. During connection |
| 11174 | +setup, HAProxy dynamically advertises additional streams up to the configured |
| 11175 | +limit, maintaining the target ratio. At connection establishment, every |
| 11176 | +frontend connection receives at least one stream; extra streams are assigned |
| 11177 | +based on the target percentage and configured stream limits. This ensures |
| 11178 | +efficient stream allocation under varying load conditions (more streams at |
| 11179 | +low loads, fewer at high loads). |
| 11180 | + |
| 11181 | +Highly dynamic sites with many objects per page benefit from high ratios, |
| 11182 | +enabling many streams per connection. Sites using fewer streams on average |
| 11183 | +(WebSocket, application code) may prefer small ratios closer to 120 or 150 |
| 11184 | +(20 to 50% more streams than connections) preventing excessive stream counts |
| 11185 | +under sustained loads. |
| 11186 | + |
| 11187 | +The default value is 0, meaning no enforcement at this level, so only H2 and |
| 11188 | +QUIC configurations apply (with the default setting of 100 streams per |
| 11189 | +connection, this corresponds to 10000%). This remains the recommended setting |
| 11190 | +for small deployments (maxconn around a thousand). Moderately sized setups |
| 11191 | +(few thousands to tens of thousands connections) typically set the ratio |
| 11192 | +between 1000 and 5000, allowing 10 to 50 streams per connection at full load. |
| 11193 | +Large-scale deployments (hundreds of thousands to millions connections) might |
| 11194 | +use lower values (120 to 200) to support 1.2 to 2 streams per connection on |
| 11195 | +average at full load. |
| 11196 | + |
| 11197 | +Monitoring the total number of active streams on backends, including queues, |
| 11198 | +provides a practical indicator of a sustainable target load and helps avoid |
| 11199 | +over-provisioning. |
11166 | 11200 | </pre><a class="anchor" name="tune.stick-counters"></a><a class="anchor" name="3-tune.stick-counters"></a><a class="anchor" name="3.2-tune.stick-counters"></a><a class="anchor" name="tune.stick-counters (Global section)"></a><a class="anchor" name="tune.stick-counters (Performance tuning)"></a><div class="keyword"><b><a class="anchor" name="tune.stick-counters"></a><a href="#3.2-tune.stick-counters">tune.stick-counters</a></b> <span style="color: #080"><number></span></div><pre class="text">Sets the number of stick-counters that may be tracked at the same time by a |
11167 | 11201 | connection or a request via "track-sc*" actions in "<a href="#tcp-request">tcp-request</a>" or |
11168 | 11202 | "<a href="#http-request">http-request</a>" rules. The default value is set at build time by the macro |
@@ -35519,7 +35553,7 @@ <h2 id="chapter-12.9" data-target="12.9"><small><a class="small" href="#12.9">12 |
35519 | 35553 | <br> |
35520 | 35554 | <hr> |
35521 | 35555 | <div class="text-right"> |
35522 | | - HAProxy 3.4-dev11-2 – Configuration Manual<br> |
| 35556 | + HAProxy 3.4-dev11-5 – Configuration Manual<br> |
35523 | 35557 | <small>, 2026/05/08</small> |
35524 | 35558 | </div> |
35525 | 35559 | </div> |
|
0 commit comments