From 29bddd461c30bc850633350ac81e3c9fd7b56cb8 Mon Sep 17 00:00:00 2001
From: Daniel Schneller
Date: Mon, 21 Mar 2016 20:46:57 +0100
Subject: [PATCH] DOC: Clarify tunes.vars.xxx-max-size settings
Adds a little more clarity to the description of the maximum sizes of
the different variable scopes and adds a note about what happens when
the space allocated for variables is too small.
Also fixes some typos and grammar/spelling issues re/ variables and
their naming conventions, copied throughout the document.
---
doc/configuration.txt | 227 +-
1 file changed, 114 insertions(+), 113 deletions(-)
diff --git a/doc/configuration.txt b/doc/configuration.txt
index c9cca4f..5147626 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -1400,16 +1400,22 @@ tune.vars.global-max-size
tune.vars.reqres-max-size
tune.vars.sess-max-size
tune.vars.txn-max-size
- These four tunes helps to manage the allowed amount of memory used by the
- variables system. "global" limits the memory for all the systems. "sess"
limit
- the memory by session, "txn" limits the memory by transaction and "reqres"
- limits the memory for each request or response processing. during the
- accounting, "sess" embbed "txn" and "txn" embed "reqres".
-
- By example, we considers that "tune.vars.sess-max-size" is fixed to 100,
- "tune.vars.txn-max-size" is fixed to 100, "tune.vars.reqres-max-size" is
- also fixed to 100. If we create a variable "txn.var" that contains 100 bytes,
- we cannot create any more variable in the other contexts.
+ These four tunes help to manage the maximum amount of memory used by the
+ variables system. "global" limits the overall amount of memory available
+ for all scopes. "sess" limits the memory for the session scope, "txn" for
+ the transaction scope, and "reqres" limits the memory for each request or
+ response processing.
+ Memory accounting is hierarchical, meaning more coarse grained limits
+ include the finer grained ones: "sess" includes "txn", and "txn" includes
+ "reqres".
+
+ For example, when "tune.vars.sess-max-size" is limited to 100,
+ "tune.vars.txn-max-size" and "tune.vars.reqres-max-size" cannot exceed
+ 100 either. If we create a variable "txn.var" that contains 100 bytes,
+ all available space is consumed.
+ Notice that exceeding the limits at runtime will not result in an error
+ message, but values might be cut off or corrupted. So make sure to accurately
+ plan for the amount of space needed to store all your variables.
tune.zlib.memlevel
Sets the memLevel parameter in zlib initialization for each session. It
@@ -3765,17 +3771,17 @@ http-request { allow | deny | tarpit | auth [realm
] | redirect |
Is used to set the contents of a variable. The variable is declared
inline.
- The name of the variable starts by an indication about its
- scope. The allowed scopes are:
- "sess" : the variable is shared with all the session,
- "txn" : the variable is shared with all the transaction
+ The name of the variable starts with an indication about
+ its scope. The scopes allowed are:
+ "sess" : the variable is shared with the whole session
+ "txn" : the variable is shared with the transaction
(request and response)
- "req" : the variable is shared only during the request
+ "req" : the variable is shared only during request
+ processing
+ "res" : the variable is shared only during response
processing
- "res" : the variable is shared only during the response
- processing.
This prefix is followed by a name. The separator is a '.'.
- The name may only contain characters 'a-z', 'A-Z', '0-9',
+ The name may only contain characters 'a-z', 'A-Z', '0-9'
and '_'.
Is a standard HAProxy expression formed by a sample-fetch
@@ -4077,17 +4083,17 @@ http-response { allow | deny | add-header
| set-nice |
Is used to set the contents of a variable. The variable is declared
inline.
- The name of the variable starts by an indication about its
- scope. The allowed scopes are:
- "sess" : the variable is shared with all the session,
- "txn" : the variable is shared with all the transaction
+ The name of the variable starts with an indication about
+ its scope. The scopes allowed are:
+ "sess" : the variable is shared with the whole session
+ "txn" : the variable is shared with the transaction
(request and response)
-