|
2 | 2 | <html lang="en"> |
3 | 3 | <head> |
4 | 4 | <meta charset="utf-8" /> |
5 | | - <title>HAProxy version 3.2-dev4-18 - Configuration Manual</title> |
| 5 | + <title>HAProxy version 3.2-dev4-29 - 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" /> |
|
4191 | 4191 |
|
4192 | 4192 | <a class="list-group-item" href="#tune.quic.cc.cubic.min-losses">tune.quic.cc.cubic.min-losses</a> |
4193 | 4193 |
|
| 4194 | + <a class="list-group-item" href="#tune.quic.disable-tx-pacing">tune.quic.disable-tx-pacing</a> |
| 4195 | + |
4194 | 4196 | <a class="list-group-item" href="#tune.quic.disable-udp-gso">tune.quic.disable-udp-gso</a> |
4195 | 4197 |
|
4196 | 4198 | <a class="list-group-item" href="#tune.quic.frontend.default-max-window-size">tune.quic.frontend.default-max-window-size</a> |
|
4450 | 4452 | You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br> |
4451 | 4453 | </p> |
4452 | 4454 | <p class="text-right"> |
4453 | | - <small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2025/01/27</b></small> |
| 4455 | + <small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2025/01/30</b></small> |
4454 | 4456 | </p> |
4455 | 4457 | </div> |
4456 | 4458 | <!-- /.sidebar --> |
|
4461 | 4463 | <div class="text-center"> |
4462 | 4464 | <h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1> |
4463 | 4465 | <h2>Configuration Manual</h2> |
4464 | | - <p><strong>version 3.2-dev4-18</strong></p> |
| 4466 | + <p><strong>version 3.2-dev4-29</strong></p> |
4465 | 4467 | <p> |
4466 | 4468 | 2025/01/24<br> |
4467 | 4469 |
|
@@ -7229,6 +7231,7 @@ <h2 id="chapter-2.9" data-target="2.9"><small><a class="small" href="#2.9">2.9.< |
7229 | 7231 | - <a href="#tune.pool-low-fd-ratio">tune.pool-low-fd-ratio</a> |
7230 | 7232 | - <a href="#tune.pt.zero-copy-forwarding">tune.pt.zero-copy-forwarding</a> |
7231 | 7233 | - <a href="#tune.quic.cc-hystart">tune.quic.cc-hystart</a> |
| 7234 | + - <a href="#tune.quic.disable-tx-pacing">tune.quic.disable-tx-pacing</a> |
7232 | 7235 | - <a href="#tune.quic.disable-udp-gso">tune.quic.disable-udp-gso</a> |
7233 | 7236 | - <a href="#tune.quic.frontend.glitches-threshold">tune.quic.frontend.glitches-threshold</a> |
7234 | 7237 | - <a href="#tune.quic.frontend.max-idle-timeout">tune.quic.frontend.max-idle-timeout</a> |
@@ -9330,6 +9333,14 @@ <h2 id="chapter-3.2" data-target="3.2"><small><a class="small" href="#3.2">3.2.< |
9330 | 9333 | of congested links. The value 2 may be used for short periods of time to |
9331 | 9334 | compare some metrics. Never go beyond 2 without an expert's prior analysis of |
9332 | 9335 | the situation. The default and minimum value is 1. Always use 1. |
| 9336 | +</pre><a class="anchor" name="tune.quic.disable-tx-pacing"></a><a class="anchor" name="3-tune.quic.disable-tx-pacing"></a><a class="anchor" name="3.2-tune.quic.disable-tx-pacing"></a><a class="anchor" name="tune.quic.disable-tx-pacing (Global parameters)"></a><a class="anchor" name="tune.quic.disable-tx-pacing (Performance tuning)"></a><div class="keyword"><b><a class="anchor" name="tune.quic.disable-tx-pacing"></a><a href="#3.2-tune.quic.disable-tx-pacing">tune.quic.disable-tx-pacing</a></b></div><pre class="text">Disables pacing support for QUIC emission. The purpose of pacing is to smooth |
| 9337 | +emission of data to reduce network losses. In most scenario, it will |
| 9338 | +significantly improve network throughput by avoiding retransmissions. |
| 9339 | +However, it can be useful to deactivate it for networks with very high |
| 9340 | +bandwidth/low latency characteristics to prevent unwanted delay and reduce |
| 9341 | +CPU consumption. |
| 9342 | + |
| 9343 | +See also the "<a href="#quic-cc-algo">quic-cc-algo</a>" bind option. |
9333 | 9344 | </pre><a class="anchor" name="tune.quic.disable-udp-gso"></a><a class="anchor" name="3-tune.quic.disable-udp-gso"></a><a class="anchor" name="3.2-tune.quic.disable-udp-gso"></a><a class="anchor" name="tune.quic.disable-udp-gso (Global parameters)"></a><a class="anchor" name="tune.quic.disable-udp-gso (Performance tuning)"></a><div class="keyword"><b><a class="anchor" name="tune.quic.disable-udp-gso"></a><a href="#3.2-tune.quic.disable-udp-gso">tune.quic.disable-udp-gso</a></b></div><pre class="text">Disable UDP GSO emission. This kernel feature allows to emit multiple |
9334 | 9345 | datagrams via a single system call which is more efficient for large |
9335 | 9346 | transfer. It may be useful to disable it on developers suggestion when |
@@ -21399,41 +21410,30 @@ <h2 id="chapter-5.1" data-target="5.1"><small><a class="small" href="#5.1">5.1.< |
21399 | 21410 | instance, it is possible to force the http/2 on clear TCP by specifying "proto |
21400 | 21411 | h2" on the bind line. |
21401 | 21412 | </pre><a class="anchor" name="quic-cc-algo"></a><a class="anchor" name="5-quic-cc-algo"></a><a class="anchor" name="5.1-quic-cc-algo"></a><a class="anchor" name="quic-cc-algo (Bind and server options)"></a><a class="anchor" name="quic-cc-algo (Bind options)"></a><div class="keyword"><b><a class="anchor" name="quic-cc-algo"></a><a href="#5.1-quic-cc-algo">quic-cc-algo</a></b> <span style="color: #800">{ cubic | newreno | bbr | nocc }</span><span style="color: #008">[(<span style="color: #080"><args,...></span>)]</span></div><pre class="text">This is a QUIC specific setting to select the congestion control algorithm |
21402 | | -for any connection attempts to the configured QUIC listeners. They are similar |
21403 | | -to those used by TCP. |
| 21413 | +for any connection attempts to the configured QUIC listeners. They are |
| 21414 | +similar to those used by TCP. |
21404 | 21415 |
|
21405 | | -Default value: cubic |
| 21416 | +Pacing is activated on top of the congestion algorithm to reduce loss and |
| 21417 | +improve throughput. It can be turned off via "<a href="#tune.quic.disable-tx-pacing">tune.quic.disable-tx-pacing</a>" |
| 21418 | +global keyword. In most cases, pacing should remain activated, especially |
| 21419 | +when using BBR as it relies on it to work as expected. Using BBR without |
| 21420 | +pacing may cause slowdowns or high loss rates during transfers. |
21406 | 21421 |
|
21407 | | -It is possible to enable pacing if the algorithm is compatible. This is done |
21408 | | -by setting an optional integer argument as described in the next paragraph. |
21409 | | -The purpose of pacing is to smooth emission of data to reduce network losses. |
21410 | | -In most scenario, it can significantly improve network throughput by avoiding |
21411 | | -retransmissions. Pacing support is still experimental, as such it requires |
21412 | | -"<a href="#expose-experimental-directives">expose-experimental-directives</a>". The BBR congestion control algorithm |
21413 | | -depends on the pacing support which is in this case implicitly enabled by |
21414 | | -choosing the "bbr" algorithm. Note that haproxy's BBR implementation is still |
21415 | | -considered as experimental and cannot be enabled without |
21416 | | -"<a href="#expose-experimental-directives">expose-experimental-directives</a>". |
| 21422 | +Default value: cubic |
21417 | 21423 |
|
21418 | 21424 | For further customization, a list of parameters can be specified after the |
21419 | 21425 | algorithm token. It must be written between parenthesis, separated by a |
21420 | 21426 | comma. Each argument is optional and can be empty if needed. Here is the |
21421 | 21427 | mandatory order of each parameters : |
21422 | 21428 | - maximum window size in bytes. It must be greater than 10k and smaller than |
21423 | 21429 | 4g. By default "<a href="#tune.quic.frontend.default-max-window-size">tune.quic.frontend.default-max-window-size</a>" value is used. |
21424 | | -- pacing activation. By default, it is set to 0, which means pacing is not |
21425 | | - used. To activate it, specify a positive value. Burst size will be |
21426 | | - dynamically adjusted to adapt to the network conditions. This parameter is |
21427 | | - ignored by BBR as pacing is automatically activated for this algorithm. |
21428 | 21430 | </pre><div class="separator"> |
21429 | 21431 | <span class="label label-success">Example:</span> |
21430 | 21432 | <pre class="prettyprint"> |
21431 | 21433 | <code><span class="comment"># newreno congestion control algorithm</span> |
21432 | 21434 | quic-cc-algo newreno |
21433 | 21435 | <span class="comment"># cubic congestion control algorithm with one megabytes as window</span> |
21434 | 21436 | quic-cc-algo cubic(1m) |
21435 | | -<span class="comment"># cubic with pacing activated on top of it</span> |
21436 | | -quic-cc-algo cubic(,1) |
21437 | 21437 | </code></pre> |
21438 | 21438 | </div><pre class="text">A special value "nocc" may be used to force a fixed congestion window always |
21439 | 21439 | set at the maximum size. It is reserved for debugging scenarios to remove any |
@@ -31792,7 +31792,7 @@ <h2 id="chapter-11.3" data-target="11.3"><small><a class="small" href="#11.3">11 |
31792 | 31792 | <br> |
31793 | 31793 | <hr> |
31794 | 31794 | <div class="text-right"> |
31795 | | - HAProxy 3.2-dev4-18 – Configuration Manual<br> |
| 31795 | + HAProxy 3.2-dev4-29 – Configuration Manual<br> |
31796 | 31796 | <small>, 2025/01/24</small> |
31797 | 31797 | </div> |
31798 | 31798 | </div> |
|
0 commit comments