|
2 | 2 | <html lang="en"> |
3 | 3 | <head> |
4 | 4 | <meta charset="utf-8" /> |
5 | | - <title>HAProxy version 3.2-dev4-56 - Configuration Manual</title> |
| 5 | + <title>HAProxy version 3.2-dev4-63 - 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" /> |
|
4167 | 4167 |
|
4168 | 4168 | <a class="list-group-item" href="#tune.max-checks-per-thread">tune.max-checks-per-thread</a> |
4169 | 4169 |
|
| 4170 | + <a class="list-group-item" href="#tune.max-rules-at-once">tune.max-rules-at-once</a> |
| 4171 | + |
4170 | 4172 | <a class="list-group-item" href="#tune.maxaccept">tune.maxaccept</a> |
4171 | 4173 |
|
4172 | 4174 | <a class="list-group-item" href="#tune.maxpollevents">tune.maxpollevents</a> |
|
4452 | 4454 | You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br> |
4453 | 4455 | </p> |
4454 | 4456 | <p class="text-right"> |
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/31</b></small> |
| 4457 | + <small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2025/02/03</b></small> |
4456 | 4458 | </p> |
4457 | 4459 | </div> |
4458 | 4460 | <!-- /.sidebar --> |
|
4463 | 4465 | <div class="text-center"> |
4464 | 4466 | <h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1> |
4465 | 4467 | <h2>Configuration Manual</h2> |
4466 | | - <p><strong>version 3.2-dev4-56</strong></p> |
| 4468 | + <p><strong>version 3.2-dev4-63</strong></p> |
4467 | 4469 | <p> |
4468 | 4470 | 2025/01/24<br> |
4469 | 4471 |
|
@@ -7223,6 +7225,7 @@ <h2 id="chapter-2.9" data-target="2.9"><small><a class="small" href="#2.9">2.9.< |
7223 | 7225 | - <a href="#tune.maxaccept">tune.maxaccept</a> |
7224 | 7226 | - <a href="#tune.maxpollevents">tune.maxpollevents</a> |
7225 | 7227 | - <a href="#tune.maxrewrite">tune.maxrewrite</a> |
| 7228 | + - <a href="#tune.max-rules-at-once">tune.max-rules-at-once</a> |
7226 | 7229 | - <a href="#tune.memory.hot-size">tune.memory.hot-size</a> |
7227 | 7230 | - <a href="#tune.pattern.cache-size">tune.pattern.cache-size</a> |
7228 | 7231 | - <a href="#tune.peers.max-updates-at-once">tune.peers.max-updates-at-once</a> |
@@ -9253,6 +9256,26 @@ <h2 id="chapter-3.2" data-target="3.2"><small><a class="small" href="#3.2">3.2.< |
9253 | 9256 | to about 1024. It is automatically readjusted to half of bufsize if it is |
9254 | 9257 | larger than that. This means you don't have to worry about it when changing |
9255 | 9258 | bufsize. |
| 9259 | +</pre><a class="anchor" name="tune.max-rules-at-once"></a><a class="anchor" name="3-tune.max-rules-at-once"></a><a class="anchor" name="3.2-tune.max-rules-at-once"></a><a class="anchor" name="tune.max-rules-at-once (Global parameters)"></a><a class="anchor" name="tune.max-rules-at-once (Performance tuning)"></a><div class="keyword"><b><a class="anchor" name="tune.max-rules-at-once"></a><a href="#3.2-tune.max-rules-at-once">tune.max-rules-at-once</a></b> <span style="color: #080"><number></span></div><pre class="text">Sets the maximum number of rules that can be evaluated at once in ruleset |
| 9260 | +evaluating functions, provided that they support yielding. Indeed, it is |
| 9261 | +not rare to see configurations with a large number of "<a href="#tcp-request%20content">tcp-request content</a>" |
| 9262 | +or "<a href="#http-request">http-request</a>" rules for instance. A large number of rules combined with |
| 9263 | +cpu-demanding actions (e.g.: actions that work on content) may create thread |
| 9264 | +contention as all the rules from a given ruleset are evaluated under the same |
| 9265 | +polling loop if the evaluation is not interrupted. This option ensures that no |
| 9266 | +more than <number> number of rules may be excecuted under the same polling |
| 9267 | +loop for content-oriented rulesets (those that already support yielding due |
| 9268 | +to content inspection). What it does is that it forces the evaluating function |
| 9269 | +to yield, so that it comes back on the next polling loop to continues the |
| 9270 | +evaluation. |
| 9271 | + |
| 9272 | +Affected rulesets are: |
| 9273 | + - "<a href="#tcp-request%20content">tcp-request content</a>" |
| 9274 | + - "<a href="#tcp-response%20content">tcp-response content</a>" |
| 9275 | + - "<a href="#http-request">http-request</a>" |
| 9276 | + - "<a href="#http-response">http-response</a>" |
| 9277 | + |
| 9278 | +The default value is 50. |
9256 | 9279 | </pre><a class="anchor" name="tune.memory.hot-size"></a><a class="anchor" name="3-tune.memory.hot-size"></a><a class="anchor" name="3.2-tune.memory.hot-size"></a><a class="anchor" name="tune.memory.hot-size (Global parameters)"></a><a class="anchor" name="tune.memory.hot-size (Performance tuning)"></a><div class="keyword"><b><a class="anchor" name="tune.memory.hot-size"></a><a href="#3.2-tune.memory.hot-size">tune.memory.hot-size</a></b> <span style="color: #080"><number></span></div><pre class="text">Sets the per-thread amount of memory that will be kept hot in the local cache |
9257 | 9280 | and will never be recoverable by other threads. Access to this memory is very |
9258 | 9281 | fast (lockless), and having enough is critical to maintain a good performance |
@@ -31814,7 +31837,7 @@ <h2 id="chapter-11.3" data-target="11.3"><small><a class="small" href="#11.3">11 |
31814 | 31837 | <br> |
31815 | 31838 | <hr> |
31816 | 31839 | <div class="text-right"> |
31817 | | - HAProxy 3.2-dev4-56 – Configuration Manual<br> |
| 31840 | + HAProxy 3.2-dev4-63 – Configuration Manual<br> |
31818 | 31841 | <small>, 2025/01/24</small> |
31819 | 31842 | </div> |
31820 | 31843 | </div> |
|
0 commit comments