Commit f2de8e9d authored by Federico G. Schwindt's avatar Federico G. Schwindt

Update parameters in preparation for further work

parent 5921f91a
...@@ -63,16 +63,26 @@ struct poolparam { ...@@ -63,16 +63,26 @@ struct poolparam {
struct params { struct params {
#define ptyp_bool unsigned #define ptyp_bool unsigned
#define ptyp_bytes ssize_t
#define ptyp_bytes_u unsigned
#define ptyp_double double #define ptyp_double double
#define ptyp_poolparam struct poolparam
#define ptyp_timeout double #define ptyp_timeout double
#define ptyp_uint unsigned #define ptyp_uint unsigned
#define ptyp_vsl_buffer unsigned
#define ptyp_vsl_reclen unsigned
#define PARAM(nm, ty, mi, ma, de, un, fl, st, lt, fn) ptyp_##ty nm; #define PARAM(nm, ty, mi, ma, de, un, fl, st, lt, fn) ptyp_##ty nm;
#include <tbl/params.h> #include <tbl/params.h>
#undef PARAM #undef PARAM
#undef ptyp_bool #undef ptyp_bool
#undef ptyp_bytes
#undef ptyp_bytes_u
#undef ptyp_double #undef ptyp_double
#undef ptyp_poolparam
#undef ptyp_timeout #undef ptyp_timeout
#undef ptyp_uint #undef ptyp_uint
#undef ptyp_vsl_buffer
#undef ptyp_vsl_reclen
/* Unprivileged user / group */ /* Unprivileged user / group */
char *user; char *user;
......
...@@ -128,7 +128,7 @@ PARAM( ...@@ -128,7 +128,7 @@ PARAM(
PARAM( PARAM(
/* name */ ban_lurker_age, /* name */ ban_lurker_age,
/* tweak */ timeout, /* typ */ timeout,
/* min */ "0", /* min */ "0",
/* max */ NULL, /* max */ NULL,
/* default */ "60", /* default */ "60",
...@@ -145,7 +145,7 @@ PARAM( ...@@ -145,7 +145,7 @@ PARAM(
PARAM( PARAM(
/* name */ ban_lurker_batch, /* name */ ban_lurker_batch,
/* tweak */ uint, /* typ */ uint,
/* min */ "1", /* min */ "1",
/* max */ NULL, /* max */ NULL,
/* default */ "1000", /* default */ "1000",
...@@ -161,7 +161,7 @@ PARAM( ...@@ -161,7 +161,7 @@ PARAM(
PARAM( PARAM(
/* name */ ban_lurker_sleep, /* name */ ban_lurker_sleep,
/* tweak */ timeout, /* typ */ timeout,
/* min */ "0", /* min */ "0",
/* max */ NULL, /* max */ NULL,
/* default */ "0.010", /* default */ "0.010",
...@@ -178,7 +178,7 @@ PARAM( ...@@ -178,7 +178,7 @@ PARAM(
PARAM( PARAM(
/* name */ first_byte_timeout, /* name */ first_byte_timeout,
/* tweak */ timeout, /* typ */ timeout,
/* min */ "0", /* min */ "0",
/* max */ NULL, /* max */ NULL,
/* default */ "60", /* default */ "60",
...@@ -196,7 +196,7 @@ PARAM( ...@@ -196,7 +196,7 @@ PARAM(
PARAM( PARAM(
/* name */ between_bytes_timeout, /* name */ between_bytes_timeout,
/* tweak */ timeout, /* typ */ timeout,
/* min */ "0", /* min */ "0",
/* max */ NULL, /* max */ NULL,
/* default */ "60", /* default */ "60",
...@@ -214,7 +214,7 @@ PARAM( ...@@ -214,7 +214,7 @@ PARAM(
PARAM( PARAM(
/* name */ backend_idle_timeout, /* name */ backend_idle_timeout,
/* tweak */ timeout, /* typ */ timeout,
/* min */ "1", /* min */ "1",
/* max */ NULL, /* max */ NULL,
/* default */ "60", /* default */ "60",
...@@ -231,108 +231,101 @@ PARAM( ...@@ -231,108 +231,101 @@ PARAM(
PARAM( PARAM(
/* name */ cli_buffer, /* name */ cli_buffer,
/* tweak */ tweak_bytes_u, /* typ */ bytes_u,
/* var */ cli_buffer, /* min */ "4k",
/* min */ 4k, /* max */ NULL,
/* max */ none, /* default */ "8k",
/* default */ 8k, /* units */ "bytes",
/* units */ bytes, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Size of buffer for CLI command input.\n" "Size of buffer for CLI command input.\n"
"You may need to increase this if you have big VCL files and use " "You may need to increase this if you have big VCL files and use "
"the vcl.inline CLI command.\n" "the vcl.inline CLI command.\n"
"NB: Must be specified with -p to have effect.\n", "NB: Must be specified with -p to have effect.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ cli_limit, /* name */ cli_limit,
/* tweak */ tweak_bytes_u, /* typ */ bytes_u,
/* var */ cli_limit, /* min */ "128b",
/* min */ 128b, /* max */ "99999999b",
/* max */ 99999999b, /* default */ "48k",
/* default */ 48k, /* units */ "bytes",
/* units */ bytes, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Maximum size of CLI response. If the response exceeds this " "Maximum size of CLI response. If the response exceeds this "
"limit, the response code will be 201 instead of 200 and the last " "limit, the response code will be 201 instead of 200 and the last "
"line will indicate the truncation.\n", "line will indicate the truncation.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ cli_timeout, /* name */ cli_timeout,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ cli_timeout, /* min */ "0.000",
/* min */ 0.000, /* max */ NULL,
/* max */ none, /* default */ "60.000",
/* default */ 60.000, /* units */ "seconds",
/* units */ seconds, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Timeout for the childs replies to CLI requests from the " "Timeout for the childs replies to CLI requests from the "
"mgt_param.\n", "mgt_param.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ clock_skew, /* name */ clock_skew,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ clock_skew, /* min */ "0",
/* min */ 0, /* max */ NULL,
/* max */ none, /* default */ "10",
/* default */ 10, /* units */ "seconds",
/* units */ seconds, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"How much clockskew we are willing to accept between the backend " "How much clockskew we are willing to accept between the backend "
"and our own clock.\n", "and our own clock.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ connect_timeout, /* name */ connect_timeout,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ connect_timeout, /* min */ "0.000",
/* min */ 0.000, /* max */ NULL,
/* max */ none, /* default */ "3.500",
/* default */ 3.500, /* units */ "seconds",
/* units */ seconds, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Default connection timeout for backend connections. We only try " "Default connection timeout for backend connections. We only try "
"to connect to the backend for this many seconds before giving up. " "to connect to the backend for this many seconds before giving up. "
"VCL can override this default value for each backend and backend " "VCL can override this default value for each backend and backend "
"request.\n", "request.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ critbit_cooloff, /* name */ critbit_cooloff,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ critbit_cooloff, /* min */ "60.000",
/* min */ 60.000, /* max */ "254.000",
/* max */ 254.000, /* default */ "180.000",
/* default */ 180.000, /* units */ "seconds",
/* units */ seconds, /* flags */ WIZARD,
/* flags */ 0| WIZARD,
/* s-text */ /* s-text */
"How long the critbit hasher keeps deleted objheads on the cooloff " "How long the critbit hasher keeps deleted objheads on the cooloff "
"list.\n", "list.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#if 0 #if 0
PARAM( PARAM(
/* name */ debug, /* name */ debug,
/* tweak */ tweak_mask, /* typ */ debug,
/* var */ debug, /* min */ NULL,
/* min */ none, /* max */ NULL,
/* max */ none, /* default */ NULL,
/* default */ none, /* units */ NULL,
/* units */ ,
/* flags */ 0, /* flags */ 0,
/* s-text */ /* s-text */
"Enable/Disable various kinds of debugging.\n" "Enable/Disable various kinds of debugging.\n"
...@@ -349,69 +342,65 @@ PARAM( ...@@ -349,69 +342,65 @@ PARAM(
" lurker VSL Ban lurker\n" " lurker VSL Ban lurker\n"
" esi_chop Chop ESI fetch to bits\n" " esi_chop Chop ESI fetch to bits\n"
" flush_head Flush after http1 head\n" " flush_head Flush after http1 head\n"
" vtc_mode Varnishtest Mode\n", " vtc_mode Varnishtest Mode",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#endif #endif
PARAM( PARAM(
/* name */ default_grace, /* name */ default_grace,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ default_grace, /* min */ "0.000",
/* min */ 0.000, /* max */ NULL,
/* max */ none, /* default */ "10.000",
/* default */ 10.000, /* units */ "seconds",
/* units */ seconds, /* flags */ OBJ_STICKY,
/* flags */ 0,
/* s-text */ /* s-text */
"Default grace period. We will deliver an object this long after " "Default grace period. We will deliver an object this long after "
"it has expired, provided another thread is attempting to get a " "it has expired, provided another thread is attempting to get a "
"new copy.\n", "new copy.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ default_keep, /* name */ default_keep,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ default_keep, /* min */ "0.000",
/* min */ 0.000, /* max */ NULL,
/* max */ none, /* default */ "0.000",
/* default */ 0.000, /* units */ "seconds",
/* units */ seconds, /* flags */ OBJ_STICKY,
/* flags */ 0,
/* s-text */ /* s-text */
"Default keep period. We will keep a useless object around this " "Default keep period. We will keep a useless object around this "
"long, making it available for conditional backend fetches. That " "long, making it available for conditional backend fetches. That "
"means that the object will be removed from the cache at the end " "means that the object will be removed from the cache at the end "
"of ttl+grace+keep.\n", "of ttl+grace+keep.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ default_ttl, /* name */ default_ttl,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ default_ttl, /* min */ "0.000",
/* min */ 0.000, /* max */ NULL,
/* max */ none, /* default */ "120.000",
/* default */ 120.000, /* units */ "seconds",
/* units */ seconds, /* flags */ OBJ_STICKY,
/* flags */ 0,
/* s-text */ /* s-text */
"The TTL assigned to objects if neither the backend nor the VCL " "The TTL assigned to objects if neither the backend nor the VCL "
"code assigns one.\n", "code assigns one.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#if 0 #if 0
PARAM( PARAM(
/* name */ feature, /* name */ feature,
/* tweak */ tweak_mask /* typ */ feature,
/* var */ feature, /* min */ NULL,
/* min */ none, /* max */ NULL,
/* max */ none, /* default */ NULL,
/* default */ none, /* units */ NULL,
/* units */ , /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Enable/Disable various minor features.\n" "Enable/Disable various minor features.\n"
" none Disable all features.\n" " none Disable all features.\n"
...@@ -423,99 +412,93 @@ PARAM( ...@@ -423,99 +412,93 @@ PARAM(
" esi_ignore_https Treat HTTPS as HTTP in ESI:includes\n" " esi_ignore_https Treat HTTPS as HTTP in ESI:includes\n"
" esi_disable_xml_check Don't check of body looks like XML\n" " esi_disable_xml_check Don't check of body looks like XML\n"
" esi_ignore_other_elements Ignore non-esi XML-elements\n" " esi_ignore_other_elements Ignore non-esi XML-elements\n"
" esi_remove_bom Remove UTF-8 BOM\n", " esi_remove_bom Remove UTF-8 BOM",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#endif #endif
PARAM( PARAM(
/* name */ fetch_chunksize, /* name */ fetch_chunksize,
/* tweak */ tweak_bytes, /* typ */ bytes,
/* var */ fetch_chunksize, /* min */ "4k",
/* min */ 4k, /* max */ NULL,
/* max */ none, /* default */ "16k",
/* default */ 16k, /* units */ "bytes",
/* units */ bytes, /* flags */ EXPERIMENTAL,
/* flags */ 0| EXPERIMENTAL,
/* s-text */ /* s-text */
"The default chunksize used by fetcher. This should be bigger than " "The default chunksize used by fetcher. This should be bigger than "
"the majority of objects with short TTLs.\n" "the majority of objects with short TTLs.\n"
"Internal limits in the storage_file module makes increases above " "Internal limits in the storage_file module makes increases above "
"128kb a dubious idea.\n", "128kb a dubious idea.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ fetch_maxchunksize, /* name */ fetch_maxchunksize,
/* tweak */ tweak_bytes, /* typ */ bytes,
/* var */ fetch_maxchunksize, /* min */ "64k",
/* min */ 64k, /* max */ NULL,
/* max */ none, /* default */ "0.25G",
/* default */ 0.25G, /* units */ "bytes",
/* units */ bytes, /* flags */ EXPERIMENTAL,
/* flags */ 0| EXPERIMENTAL,
/* s-text */ /* s-text */
"The maximum chunksize we attempt to allocate from storage. Making " "The maximum chunksize we attempt to allocate from storage. Making "
"this too large may cause delays and storage fragmentation.\n", "this too large may cause delays and storage fragmentation.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ gzip_buffer, /* name */ gzip_buffer,
/* tweak */ tweak_bytes_u, /* typ */ bytes_u,
/* var */ gzip_buffer, /* min */ "2k",
/* min */ 2k, /* max */ NULL,
/* max */ none, /* default */ "32k",
/* default */ 32k, /* units */ "bytes",
/* units */ bytes, /* flags */ EXPERIMENTAL,
/* flags */ 0| EXPERIMENTAL,
/* s-text */ /* s-text */
"Size of malloc buffer used for gzip processing.\n" "Size of malloc buffer used for gzip processing.\n"
"These buffers are used for in-transit data, for instance " "These buffers are used for in-transit data, for instance "
"gunzip'ed data being sent to a client.Making this space to small " "gunzip'ed data being sent to a client.Making this space to small "
"results in more overhead, writes to sockets etc, making it too " "results in more overhead, writes to sockets etc, making it too "
"big is probably just a waste of memory.\n", "big is probably just a waste of memory.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ gzip_level, /* name */ gzip_level,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ gzip_level, /* min */ "0",
/* min */ 0, /* max */ "9",
/* max */ 9, /* default */ "6",
/* default */ 6, /* units */ NULL,
/* units */ , /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Gzip compression level: 0=debug, 1=fast, 9=best\n", "Gzip compression level: 0=debug, 1=fast, 9=best",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ gzip_memlevel, /* name */ gzip_memlevel,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ gzip_memlevel, /* min */ "1",
/* min */ 1, /* max */ "9",
/* max */ 9, /* default */ "8",
/* default */ 8, /* units */ NULL,
/* units */ , /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Gzip memory level 1=slow/least, 9=fast/most compression.\n" "Gzip memory level 1=slow/least, 9=fast/most compression.\n"
"Memory impact is 1=1k, 2=2k, ... 9=256k.\n", "Memory impact is 1=1k, 2=2k, ... 9=256k.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ http_gzip_support, /* name */ http_gzip_support,
/* tweak */ tweak_bool, /* typ */ bool,
/* var */ http_gzip_support, /* min */ NULL,
/* min */ none, /* max */ NULL,
/* max */ none, /* default */ "on",
/* default */ on, /* units */ "bool",
/* units */ bool, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Enable gzip support. When enabled Varnish request compressed " "Enable gzip support. When enabled Varnish request compressed "
"objects from the backend and store them compressed. If a client " "objects from the backend and store them compressed. If a client "
...@@ -526,519 +509,478 @@ PARAM( ...@@ -526,519 +509,478 @@ PARAM(
"\n" "\n"
"Clients that do not support gzip will have their Accept-Encoding " "Clients that do not support gzip will have their Accept-Encoding "
"header removed. For more information on how gzip is implemented " "header removed. For more information on how gzip is implemented "
"please see the chapter on gzip in the Varnish reference.\n", "please see the chapter on gzip in the Varnish reference.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ http_max_hdr, /* name */ http_max_hdr,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ http_max_hdr, /* min */ "32",
/* min */ 32, /* max */ "65535",
/* max */ 65535, /* default */ "64",
/* default */ 64, /* units */ "header lines",
/* units */ header lines, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Maximum number of HTTP header lines we allow in " "Maximum number of HTTP header lines we allow in "
"{req|resp|bereq|beresp}.http (obj.http is autosized to the exact " "{req|resp|bereq|beresp}.http (obj.http is autosized to the exact "
"number of headers).\n" "number of headers).\n"
"Cheap, ~20 bytes, in terms of workspace memory.\n" "Cheap, ~20 bytes, in terms of workspace memory.\n"
"Note that the first line occupies five header lines.\n", "Note that the first line occupies five header lines.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ http_range_support, /* name */ http_range_support,
/* tweak */ tweak_bool, /* typ */ bool,
/* var */ http_range_support, /* min */ NULL,
/* min */ none, /* max */ NULL,
/* max */ none, /* default */ "on",
/* default */ on, /* units */ "bool",
/* units */ bool, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Enable support for HTTP Range headers.\n", "Enable support for HTTP Range headers.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ http_req_hdr_len, /* name */ http_req_hdr_len,
/* tweak */ tweak_bytes_u, /* typ */ bytes_u,
/* var */ http_req_hdr_len, /* min */ "40b",
/* min */ 40b, /* max */ NULL,
/* max */ none, /* default */ "8k",
/* default */ 8k, /* units */ "bytes",
/* units */ bytes, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Maximum length of any HTTP client request header we will allow. " "Maximum length of any HTTP client request header we will allow. "
"The limit is inclusive its continuation lines.\n", "The limit is inclusive its continuation lines.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ http_req_size, /* name */ http_req_size,
/* tweak */ tweak_bytes_u, /* typ */ bytes_u,
/* var */ http_req_size, /* min */ "0.25k",
/* min */ 0.25k, /* max */ NULL,
/* max */ none, /* default */ "32k",
/* default */ 32k, /* units */ "bytes",
/* units */ bytes, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Maximum number of bytes of HTTP client request we will deal with. " "Maximum number of bytes of HTTP client request we will deal with. "
" This is a limit on all bytes up to the double blank line which " " This is a limit on all bytes up to the double blank line which "
"ends the HTTP request.\n" "ends the HTTP request.\n"
"The memory for the request is allocated from the client workspace " "The memory for the request is allocated from the client workspace "
"(param: workspace_client) and this parameter limits how much of " "(param: workspace_client) and this parameter limits how much of "
"that the request is allowed to take up.\n", "that the request is allowed to take up.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ http_resp_hdr_len, /* name */ http_resp_hdr_len,
/* tweak */ tweak_bytes_u, /* typ */ bytes_u,
/* var */ http_resp_hdr_len, /* min */ "40b",
/* min */ 40b, /* max */ NULL,
/* max */ none, /* default */ "8k",
/* default */ 8k, /* units */ "bytes",
/* units */ bytes, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Maximum length of any HTTP backend response header we will allow. " "Maximum length of any HTTP backend response header we will allow. "
" The limit is inclusive its continuation lines.\n", " The limit is inclusive its continuation lines.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ http_resp_size, /* name */ http_resp_size,
/* tweak */ tweak_bytes_u, /* typ */ bytes_u,
/* var */ http_resp_size, /* min */ "0.25k",
/* min */ 0.25k, /* max */ NULL,
/* max */ none, /* default */ "32k",
/* default */ 32k, /* units */ "bytes",
/* units */ bytes, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Maximum number of bytes of HTTP backend response we will deal " "Maximum number of bytes of HTTP backend response we will deal "
"with. This is a limit on all bytes up to the double blank line " "with. This is a limit on all bytes up to the double blank line "
"which ends the HTTP request.\n" "which ends the HTTP request.\n"
"The memory for the request is allocated from the worker workspace " "The memory for the request is allocated from the worker workspace "
"(param: thread_pool_workspace) and this parameter limits how much " "(param: thread_pool_workspace) and this parameter limits how much "
"of that the request is allowed to take up.\n", "of that the request is allowed to take up.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ idle_send_timeout, /* name */ idle_send_timeout,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ idle_send_timeout, /* min */ "0.000",
/* min */ 0.000, /* max */ NULL,
/* max */ none, /* default */ "60.000",
/* default */ 60.000, /* units */ "seconds",
/* units */ seconds, /* flags */ DELAYED_EFFECT,
/* flags */ 0| DELAYED_EFFECT,
/* s-text */ /* s-text */
"Time to wait with no data sent. If no data has been transmitted " "Time to wait with no data sent. If no data has been transmitted "
"in this many\n" "in this many\n"
"seconds the session is closed.\n" "seconds the session is closed.\n"
"See setsockopt(2) under SO_SNDTIMEO for more information.\n", "See setsockopt(2) under SO_SNDTIMEO for more information.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ listen_depth, /* name */ listen_depth,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ listen_depth, /* min */ "0",
/* min */ 0, /* max */ NULL,
/* max */ none, /* default */ "1024",
/* default */ 1024, /* units */ "connections",
/* units */ connections, /* flags */ MUST_RESTART,
/* flags */ 0| MUST_RESTART,
/* s-text */ /* s-text */
"Listen queue depth.\n", "Listen queue depth.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ lru_interval, /* name */ lru_interval,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ lru_interval, /* min */ "0.000",
/* min */ 0.000, /* max */ NULL,
/* max */ none, /* default */ "2.000",
/* default */ 2.000, /* units */ "seconds",
/* units */ seconds, /* flags */ EXPERIMENTAL,
/* flags */ 0| EXPERIMENTAL,
/* s-text */ /* s-text */
"Grace period before object moves on LRU list.\n" "Grace period before object moves on LRU list.\n"
"Objects are only moved to the front of the LRU list if they have " "Objects are only moved to the front of the LRU list if they have "
"not been moved there already inside this timeout period. This " "not been moved there already inside this timeout period. This "
"reduces the amount of lock operations necessary for LRU list " "reduces the amount of lock operations necessary for LRU list "
"access.\n", "access.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ max_esi_depth, /* name */ max_esi_depth,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ max_esi_depth, /* min */ "0",
/* min */ 0, /* max */ NULL,
/* max */ none, /* default */ "5",
/* default */ 5, /* units */ "levels",
/* units */ levels, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Maximum depth of esi:include processing.\n", "Maximum depth of esi:include processing.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ max_restarts, /* name */ max_restarts,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ max_restarts, /* min */ "0",
/* min */ 0, /* max */ NULL,
/* max */ none, /* default */ "4",
/* default */ 4, /* units */ "restarts",
/* units */ restarts, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Upper limit on how many times a request can restart.\n" "Upper limit on how many times a request can restart.\n"
"Be aware that restarts are likely to cause a hit against the " "Be aware that restarts are likely to cause a hit against the "
"backend, so don't increase thoughtlessly.\n", "backend, so don't increase thoughtlessly.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ max_retries, /* name */ max_retries,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ max_retries, /* min */ "0",
/* min */ 0, /* max */ NULL,
/* max */ none, /* default */ "4",
/* default */ 4, /* units */ "retries",
/* units */ retries, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Upper limit on how many times a backend fetch can retry.\n", "Upper limit on how many times a backend fetch can retry.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ nuke_limit, /* name */ nuke_limit,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ nuke_limit, /* min */ "0",
/* min */ 0, /* max */ NULL,
/* max */ none, /* default */ "50",
/* default */ 50, /* units */ "allocations",
/* units */ allocations, /* flags */ EXPERIMENTAL,
/* flags */ 0| EXPERIMENTAL,
/* s-text */ /* s-text */
"Maximum number of objects we attempt to nuke in order to make " "Maximum number of objects we attempt to nuke in order to make "
"space for a object body.\n", "space for a object body.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#if 0 #if 0
PARAM( PARAM(
/* name */ pcre_match_limit, /* name */ pcre_match_limit,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ pcre_match_limit, /* min */ "1",
/* min */ 1, /* max */ NULL,
/* max */ none, /* default */ "1.000",
/* default */ 10000, /* units */ NULL,
/* units */ , /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"The limit for the number of internal matching function calls in " "The limit for the number of internal matching function calls in "
"a pcre_exec() execution.\n", "a pcre_exec() execution.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ pcre_match_limit_recursion, /* name */ pcre_match_limit_recursion,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ pcre_match_limit_recursion, /* min */ "1",
/* min */ 1, /* max */ NULL,
/* max */ none, /* default */ "1.000",
/* default */ 10000, /* units */ NULL,
/* units */ , /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"The limit for the number of internal matching function " "The limit for the number of internal matching function "
"recursions in a pcre_exec() execution.\n", "recursions in a pcre_exec() execution.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#endif #endif
PARAM( PARAM(
/* name */ ping_interval, /* name */ ping_interval,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ ping_interval, /* min */ "0",
/* min */ 0, /* max */ NULL,
/* max */ none, /* default */ "3",
/* default */ 3, /* units */ "seconds",
/* units */ seconds, /* flags */ MUST_RESTART,
/* flags */ 0| MUST_RESTART,
/* s-text */ /* s-text */
"Interval between pings from parent to child.\n" "Interval between pings from parent to child.\n"
"Zero will disable pinging entirely, which makes it possible to " "Zero will disable pinging entirely, which makes it possible to "
"attach a debugger to the child.\n", "attach a debugger to the child.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ pipe_timeout, /* name */ pipe_timeout,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ pipe_timeout, /* min */ "0.000",
/* min */ 0.000, /* max */ NULL,
/* max */ none, /* default */ "60.000",
/* default */ 60.000, /* units */ "seconds",
/* units */ seconds, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Idle timeout for PIPE sessions. If nothing have been received in " "Idle timeout for PIPE sessions. If nothing have been received in "
"either direction for this many seconds, the session is closed.\n", "either direction for this many seconds, the session is closed.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#if 0 #if 0
PARAM( PARAM(
/* name */ pool_req, /* name */ pool_req,
/* tweak */ tweak_poolparam, /* typ */ poolparam,
/* var */ pool_req, /* min */ NULL,
/* min */ none, /* max */ NULL,
/* max */ none, /* default */ "10,100,10",
/* default */ 10\,100\,10, /* units */ NULL,
/* units */ none, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Parameters for per worker pool request memory pool.\n" "Parameters for per worker pool request memory pool.\n"
"The three numbers are:\n" MEMPOOL_TEXT,
" min_pool minimum size of free pool.\n"
" max_pool maximum size of free pool.\n"
" max_age max age of free element.\n",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ pool_sess, /* name */ pool_sess,
/* tweak */ tweak_poolparam, /* typ */ poolparam,
/* var */ pool_sess, /* min */ NULL,
/* min */ none, /* max */ NULL,
/* max */ none, /* default */ "10,100,10",
/* default */ 10,100,10, /* units */ NULL,
/* units */ , /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Parameters for per worker pool session memory pool.\n" "Parameters for per worker pool session memory pool.\n"
"The three numbers are:\n" MEMPOOL_TEXT,
" min_pool minimum size of free pool.\n"
" max_pool maximum size of free pool.\n"
" max_age max age of free element.\n",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ pool_vbo, /* name */ pool_vbo,
/* tweak */ tweak_poolparam, /* typ */ poolparam,
/* var */ pool_vbo, /* min */ NULL,
/* min */ none, /* max */ NULL,
/* max */ none, /* default */ "10,100,10",
/* default */ 10,100,10, /* units */ NULL,
/* units */ , /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Parameters for backend object fetch memory pool.\n" "Parameters for backend object fetch memory pool.\n"
"The three numbers are:\n" MEMPOOL_TEXT,
" min_pool minimum size of free pool.\n"
" max_pool maximum size of free pool.\n"
" max_age max age of free element.\n",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#endif #endif
PARAM( PARAM(
/* name */ prefer_ipv6, /* name */ prefer_ipv6,
/* tweak */ tweak_bool, /* typ */ bool,
/* var */ prefer_ipv6, /* min */ NULL,
/* min */ none, /* max */ NULL,
/* max */ none, /* default */ "off",
/* default */ off, /* units */ "bool",
/* units */ bool, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Prefer IPv6 address when connecting to backends which have both " "Prefer IPv6 address when connecting to backends which have both "
"IPv4 and IPv6 addresses.\n", "IPv4 and IPv6 addresses.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ rush_exponent, /* name */ rush_exponent,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ rush_exponent, /* min */ "2",
/* min */ 2, /* max */ NULL,
/* max */ none, /* default */ "3",
/* default */ 3, /* units */ "requests per request",
/* units */ requests per request, /* flags */ EXPERIMENTAL,
/* flags */ 0| EXPERIMENTAL,
/* s-text */ /* s-text */
"How many parked request we start for each completed request on " "How many parked request we start for each completed request on "
"the object.\n" "the object.\n"
"NB: Even with the implict delay of delivery, this parameter " "NB: Even with the implict delay of delivery, this parameter "
"controls an exponential increase in number of worker threads.\n", "controls an exponential increase in number of worker threads.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ send_timeout, /* name */ send_timeout,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ send_timeout, /* min */ "0.000",
/* min */ 0.000, /* max */ NULL,
/* max */ none, /* default */ "600.000",
/* default */ 600.000, /* units */ "seconds",
/* units */ seconds, /* flags */ DELAYED_EFFECT,
/* flags */ 0| DELAYED_EFFECT,
/* s-text */ /* s-text */
"Send timeout for client connections. If the HTTP response hasn't " "Send timeout for client connections. If the HTTP response hasn't "
"been transmitted in this many\n" "been transmitted in this many\n"
"seconds the session is closed.\n" "seconds the session is closed.\n"
"See setsockopt(2) under SO_SNDTIMEO for more information.\n", "See setsockopt(2) under SO_SNDTIMEO for more information.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#if 0 #if 0
PARAM( PARAM(
/* name */ session_max, /* name */ session_max,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ session_max, /* min */ "1000",
/* min */ 1000, /* max */ NULL,
/* max */ none, /* default */ "10.000",
/* default */ 100000, /* units */ "sessions",
/* units */ sessions, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Maximum number of sessions we will allocate from one pool before " "Maximum number of sessions we will allocate from one pool before "
"just dropping connections.\n" "just dropping connections.\n"
"This is mostly an anti-DoS measure, and setting it plenty high " "This is mostly an anti-DoS measure, and setting it plenty high "
"should not hurt, as long as you have the memory for it.\n", "should not hurt, as long as you have the memory for it.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ shm_reclen, /* name */ shm_reclen,
/* tweak */ tweak_vsl_reclen, /* typ */ vsl_reclen,
/* var */ shm_reclen, /* min */ "16b",
/* min */ 16b, /* max */ "4084",
/* max */ 4084, /* default */ "255b",
/* default */ 255b, /* units */ "bytes",
/* units */ bytes, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Old name for vsl_reclen, use that instead.\n", "Old name for vsl_reclen, use that instead.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#endif #endif
PARAM( PARAM(
/* name */ shortlived, /* name */ shortlived,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ shortlived, /* min */ "0.000",
/* min */ 0.000, /* max */ NULL,
/* max */ none, /* default */ "10.000",
/* default */ 10.000, /* units */ "seconds",
/* units */ seconds, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Objects created with (ttl+grace+keep) shorter than this are " "Objects created with (ttl+grace+keep) shorter than this are "
"always put in transient storage.\n", "always put in transient storage.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ sigsegv_handler, /* name */ sigsegv_handler,
/* tweak */ tweak_bool, /* typ */ bool,
/* var */ sigsegv_handler, /* min */ NULL,
/* min */ none, /* max */ NULL,
/* max */ none, /* default */ "on",
/* default */ on, /* units */ "bool",
/* units */ bool, /* flags */ MUST_RESTART,
/* flags */ 0| MUST_RESTART,
/* s-text */ /* s-text */
"Install a signal handler which tries to dump debug information on " "Install a signal handler which tries to dump debug information on "
"segmentation faults, bus errors and abort signals.\n", "segmentation faults, bus errors and abort signals.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ syslog_cli_traffic, /* name */ syslog_cli_traffic,
/* tweak */ tweak_bool, /* typ */ bool,
/* var */ syslog_cli_traffic, /* min */ NULL,
/* min */ none, /* max */ NULL,
/* max */ none, /* default */ "on",
/* default */ on, /* units */ "bool",
/* units */ bool, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Log all CLI traffic to syslog(LOG_INFO).\n", "Log all CLI traffic to syslog(LOG_INFO).",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ tcp_keepalive_intvl, /* name */ tcp_keepalive_intvl,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ tcp_keepalive_intvl, /* min */ "1.000",
/* min */ 1.000, /* max */ "100.000",
/* max */ 100.000, /* default */ "5.000",
/* default */ 5.000, /* units */ "seconds",
/* units */ seconds, /* flags */ EXPERIMENTAL,
/* flags */ 0| EXPERIMENTAL,
/* s-text */ /* s-text */
"The number of seconds between TCP keep-alive probes.\n", "The number of seconds between TCP keep-alive probes.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ tcp_keepalive_probes, /* name */ tcp_keepalive_probes,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ tcp_keepalive_probes, /* min */ "1",
/* min */ 1, /* max */ "100",
/* max */ 100, /* default */ "5",
/* default */ 5, /* units */ "probes",
/* units */ probes, /* flags */ EXPERIMENTAL,
/* flags */ 0| EXPERIMENTAL,
/* s-text */ /* s-text */
"The maximum number of TCP keep-alive probes to send before giving " "The maximum number of TCP keep-alive probes to send before giving "
"up and killing the connection if no response is obtained from the " "up and killing the connection if no response is obtained from the "
"other end.\n", "other end.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ tcp_keepalive_time, /* name */ tcp_keepalive_time,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ tcp_keepalive_time, /* min */ "1.000",
/* min */ 1.000, /* max */ "7200.000",
/* max */ 7200.000, /* default */ "600.000",
/* default */ 600.000, /* units */ "seconds",
/* units */ seconds, /* flags */ EXPERIMENTAL,
/* flags */ 0| EXPERIMENTAL,
/* s-text */ /* s-text */
"The number of seconds a connection needs to be idle before TCP " "The number of seconds a connection needs to be idle before TCP "
"begins sending out keep-alive probes.\n", "begins sending out keep-alive probes.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#if 0 #if 0
PARAM( PARAM(
/* name */ thread_pool_add_delay, /* name */ thread_pool_add_delay,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ thread_pool_add_delay, /* min */ "0.000",
/* min */ 0.000, /* max */ NULL,
/* max */ none, /* default */ "0.000",
/* default */ 0.000, /* units */ "seconds",
/* units */ seconds, /* flags */ EXPERIMENTAL,
/* flags */ 0| EXPERIMENTAL,
/* s-text */ /* s-text */
"Wait at least this long after creating a thread.\n" "Wait at least this long after creating a thread.\n"
"\n" "\n"
...@@ -1046,34 +988,32 @@ PARAM( ...@@ -1046,34 +988,32 @@ PARAM(
"creating threads.\n" "creating threads.\n"
"Set this to a few milliseconds if you see the 'threads_failed' " "Set this to a few milliseconds if you see the 'threads_failed' "
"counter grow too much.\n" "counter grow too much.\n"
"Setting this too high results in insuffient worker threads.\n", "Setting this too high results in insuffient worker threads.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ thread_pool_destroy_delay, /* name */ thread_pool_destroy_delay,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ thread_pool_destroy_delay, /* min */ "0.010",
/* min */ 0.010, /* max */ NULL,
/* max */ none, /* default */ "1.000",
/* default */ 1.000, /* units */ "seconds",
/* units */ seconds, /* flags */ DELAYED_EFFECT| EXPERIMENTAL,
/* flags */ 0| DELAYED_EFFECT| EXPERIMENTAL,
/* s-text */ /* s-text */
"Wait this long after destroying a thread.\n" "Wait this long after destroying a thread.\n"
"This controls the decay of thread pools when idle(-ish).\n", "This controls the decay of thread pools when idle(-ish).",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ thread_pool_fail_delay, /* name */ thread_pool_fail_delay,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ thread_pool_fail_delay, /* min */ "0.010",
/* min */ 0.010, /* max */ NULL,
/* max */ none, /* default */ "0.200",
/* default */ 0.200, /* units */ "seconds",
/* units */ seconds, /* flags */ EXPERIMENTAL,
/* flags */ 0| EXPERIMENTAL,
/* s-text */ /* s-text */
"Wait at least this long after a failed thread creation before " "Wait at least this long after a failed thread creation before "
"trying to create another thread.\n" "trying to create another thread.\n"
...@@ -1087,88 +1027,83 @@ PARAM( ...@@ -1087,88 +1027,83 @@ PARAM(
"\n" "\n"
"It may also help to increase thread_pool_timeout and " "It may also help to increase thread_pool_timeout and "
"thread_pool_min, to reduce the rate at which treads are destroyed " "thread_pool_min, to reduce the rate at which treads are destroyed "
"and later recreated.\n", "and later recreated.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ thread_pool_max, /* name */ thread_pool_max,
/* tweak */ tweak_***, /* typ */ thread_pool_max,
/* var */ thread_pool_max, /* min */ "100",
/* min */ 100, /* max */ NULL,
/* max */ none, /* default */ "5000",
/* default */ 5000, /* units */ "threads",
/* units */ threads, /* flags */ DELAYED_EFFECT,
/* flags */ 0| DELAYED_EFFECT,
/* s-text */ /* s-text */
"The maximum number of worker threads in each pool.\n" "The maximum number of worker threads in each pool.\n"
"\n" "\n"
"Do not set this higher than you have to, since excess worker " "Do not set this higher than you have to, since excess worker "
"threads soak up RAM and CPU and generally just get in the way of " "threads soak up RAM and CPU and generally just get in the way of "
"getting work done.\n", "getting work done.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ thread_pool_min, /* name */ thread_pool_min,
/* tweak */ tweak_***, /* typ */ thread_pool_min,
/* var */ thread_pool_min, /* min */ NULL,
/* min */ none, /* max */ "5000",
/* max */ 5000, /* default */ "100",
/* default */ 100, /* units */ "threads",
/* units */ threads, /* flags */ DELAYED_EFFECT,
/* flags */ 0| DELAYED_EFFECT,
/* s-text */ /* s-text */
"The minimum number of worker threads in each pool.\n" "The minimum number of worker threads in each pool.\n"
"\n" "\n"
"Increasing this may help ramp up faster from low load situations " "Increasing this may help ramp up faster from low load situations "
"or when threads have expired." "or when threads have expired."
"Minimum is 10 threads.\n", "Minimum is 10 threads.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ thread_pool_stack, /* name */ thread_pool_stack,
/* tweak */ tweak_bytes, /* typ */ bytes,
/* var */ thread_pool_stack, /* min */ "2k",
/* min */ 2k, /* max */ NULL,
/* max */ none, /* default */ "48k",
/* default */ 48k, /* units */ "bytes",
/* units */ bytes, /* flags */ EXPERIMENTAL,
/* flags */ 0| EXPERIMENTAL,
/* s-text */ /* s-text */
"Worker thread stack size.\n" "Worker thread stack size.\n"
"This will likely be rounded up to a multiple of 4k (or whatever " "This will likely be rounded up to a multiple of 4k (or whatever "
"the page_size might be) by the kernel.\n", "the page_size might be) by the kernel.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ thread_pool_timeout, /* name */ thread_pool_timeout,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ thread_pool_timeout, /* min */ "10.000",
/* min */ 10.000, /* max */ NULL,
/* max */ none, /* default */ "300.000",
/* default */ 300.000, /* units */ "seconds",
/* units */ seconds, /* flags */ DELAYED_EFFECT| EXPERIMENTAL,
/* flags */ 0| DELAYED_EFFECT| EXPERIMENTAL,
/* s-text */ /* s-text */
"Thread idle threshold.\n" "Thread idle threshold.\n"
"\n" "\n"
"Threads in excess of thread_pool_min, which have been idle for at " "Threads in excess of thread_pool_min, which have been idle for at "
"least this long, will be destroyed.\n", "least this long, will be destroyed.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ thread_pools, /* name */ thread_pools,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ thread_pools, /* min */ "1",
/* min */ 1, /* max */ NULL,
/* max */ none, /* default */ "2",
/* default */ 2, /* units */ "pools",
/* units */ pools, /* flags */ DELAYED_EFFECT| EXPERIMENTAL,
/* flags */ 0| DELAYED_EFFECT| EXPERIMENTAL,
/* s-text */ /* s-text */
"Number of worker thread pools.\n" "Number of worker thread pools.\n"
"\n" "\n"
...@@ -1178,73 +1113,69 @@ PARAM( ...@@ -1178,73 +1113,69 @@ PARAM(
"pool for each CPU is probably detrimal to performance.\n" "pool for each CPU is probably detrimal to performance.\n"
"\n" "\n"
"Can be increased on the fly, but decreases require a restart to " "Can be increased on the fly, but decreases require a restart to "
"take effect.\n", "take effect.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ thread_queue_limit, /* name */ thread_queue_limit,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ thread_queue_limit, /* min */ "0",
/* min */ 0, /* max */ NULL,
/* max */ none, /* default */ "20",
/* default */ 20, /* units */ NULL,
/* units */ , /* flags */ EXPERIMENTAL,
/* flags */ 0| EXPERIMENTAL,
/* s-text */ /* s-text */
"Permitted queue length per thread-pool.\n" "Permitted queue length per thread-pool.\n"
"\n" "\n"
"This sets the number of requests we will queue, waiting for an " "This sets the number of requests we will queue, waiting for an "
"available thread. Above this limit sessions will be dropped " "available thread. Above this limit sessions will be dropped "
"instead of queued.\n", "instead of queued.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ thread_stats_rate, /* name */ thread_stats_rate,
/* tweak */ tweak_uint, /* typ */ uint,
/* var */ thread_stats_rate, /* min */ "0",
/* min */ 0, /* max */ NULL,
/* max */ none, /* default */ "10",
/* default */ 10, /* units */ "requests",
/* units */ requests, /* flags */ EXPERIMENTAL,
/* flags */ 0| EXPERIMENTAL,
/* s-text */ /* s-text */
"Worker threads accumulate statistics, and dump these into the " "Worker threads accumulate statistics, and dump these into the "
"global stats counters if the lock is free when they finish a job " "global stats counters if the lock is free when they finish a job "
"(request/fetch etc.)\n" "(request/fetch etc.)\n"
"This parameters defines the maximum number of jobs a worker " "This parameters defines the maximum number of jobs a worker "
"thread may handle, before it is forced to dump its accumulated " "thread may handle, before it is forced to dump its accumulated "
"stats into the global counters.\n", "stats into the global counters.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#endif #endif
PARAM( PARAM(
/* name */ timeout_idle, /* name */ timeout_idle,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ timeout_idle, /* min */ "0.000",
/* min */ 0.000, /* max */ NULL,
/* max */ none, /* default */ "5.000",
/* default */ 5.000, /* units */ "seconds",
/* units */ seconds, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Idle timeout for client connections.\n" "Idle timeout for client connections.\n"
"A connection is considered idle, until we have received the full " "A connection is considered idle, until we have received the full "
"request headers.\n", "request headers.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ timeout_linger, /* name */ timeout_linger,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ timeout_linger, /* min */ "0.000",
/* min */ 0.000, /* max */ NULL,
/* max */ none, /* default */ "0.050",
/* default */ 0.050, /* units */ "seconds",
/* units */ seconds, /* flags */ EXPERIMENTAL,
/* flags */ 0| EXPERIMENTAL,
/* s-text */ /* s-text */
"How long the worker thread lingers on an idle session before " "How long the worker thread lingers on an idle session before "
"handing it over to the waiter.\n" "handing it over to the waiter.\n"
...@@ -1252,22 +1183,21 @@ PARAM( ...@@ -1252,22 +1183,21 @@ PARAM(
"within the first 100 msec of the previous request completing.\n" "within the first 100 msec of the previous request completing.\n"
"Setting this too high results in worker threads not doing " "Setting this too high results in worker threads not doing "
"anything for their keep, setting it too low just means that more " "anything for their keep, setting it too low just means that more "
"sessions take a detour around the waiter.\n", "sessions take a detour around the waiter.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#if 0 #if 0
PARAM( PARAM(
/* name */ vcc_allow_inline_c, /* name */ vcc_allow_inline_c,
/* tweak */ tweak_bool, /* typ */ bool,
/* var */ vcc_allow_inline_c, /* min */ NULL,
/* min */ none, /* max */ NULL,
/* max */ none, /* default */ "off",
/* default */ off, /* units */ "bool",
/* units */ bool, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Allow inline C code in VCL.\n", "Allow inline C code in VCL.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
...@@ -1275,15 +1205,14 @@ PARAM( ...@@ -1275,15 +1205,14 @@ PARAM(
#if 0 #if 0
PARAM( PARAM(
/* name */ vcc_err_unref, /* name */ vcc_err_unref,
/* tweak */ tweak_bool, /* typ */ bool,
/* var */ vcc_err_unref, /* min */ NULL,
/* min */ none, /* max */ NULL,
/* max */ none, /* default */ "on",
/* default */ on, /* units */ "bool",
/* units */ bool, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Unreferenced VCL objects result in error.\n", "Unreferenced VCL objects result in error.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
...@@ -1291,231 +1220,217 @@ PARAM( ...@@ -1291,231 +1220,217 @@ PARAM(
#if 0 #if 0
PARAM( PARAM(
/* name */ vcc_unsafe_path, /* name */ vcc_unsafe_path,
/* tweak */ tweak_bool, /* typ */ bool,
/* var */ vcc_unsafe_path, /* min */ NULL,
/* min */ none, /* max */ NULL,
/* max */ none, /* default */ "on",
/* default */ on, /* units */ "bool",
/* units */ bool, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Allow '/' in vmod & include paths.\n" "Allow '/' in vmod & include paths.\n"
"Allow 'import ... from ...'.\n", "Allow 'import ... from ...'.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#endif #endif
PARAM( PARAM(
/* name */ vcl_cooldown, /* name */ vcl_cooldown,
/* tweak */ tweak_timeout, /* typ */ timeout,
/* var */ vcl_cooldown, /* min */ "0.000",
/* min */ 0.000, /* max */ NULL,
/* max */ none, /* default */ "600.000",
/* default */ 600.000, /* units */ "seconds",
/* units */ seconds, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"How long time a VCL is kept warm after being replaced as the " "How long time a VCL is kept warm after being replaced as the "
"active VCL. (Granularity approximately 30 seconds.)\n", "active VCL. (Granularity approximately 30 seconds.)",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#if 0 #if 0
PARAM( PARAM(
/* name */ vcl_dir, /* name */ vcl_dir,
/* tweak */ tweak_string, /* typ */ string,
/* var */ vcl_dir, /* min */ NULL,
/* min */ none, /* max */ NULL,
/* max */ none,
/* default */ /opt/varnish/etc/varnish, /* default */ /opt/varnish/etc/varnish,
/* units */ (null), /* units */ NULL,
/* flags */ 00, /* flags */ 0,
/* s-text */ /* s-text */
"Directory from which relative VCL filenames (vcl.load and " "Directory from which relative VCL filenames (vcl.load and "
"include) are opened.\n", "include) are opened.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ vmod_dir, /* name */ vmod_dir,
/* tweak */ tweak_string, /* typ */ string,
/* var */ vmod_dir, /* min */ NULL,
/* min */ none, /* max */ NULL,
/* max */ none,
/* default */ /opt/varnish/lib/varnish/vmods, /* default */ /opt/varnish/lib/varnish/vmods,
/* units */ (null), /* units */ NULL,
/* flags */ 00, /* flags */ 0,
/* s-text */ /* s-text */
"Directory where VCL modules are to be found.\n", "Directory where VCL modules are to be found.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#endif #endif
PARAM( PARAM(
/* name */ vsl_buffer, /* name */ vsl_buffer,
/* tweak */ tweak_vsl_buffer, /* typ */ vsl_buffer,
/* var */ vsl_buffer, /* min */ "267",
/* min */ 267, /* max */ NULL,
/* max */ none, /* default */ "4k",
/* default */ 4k, /* units */ "bytes",
/* units */ bytes, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Bytes of (req-/backend-)workspace dedicated to buffering VSL " "Bytes of (req-/backend-)workspace dedicated to buffering VSL "
"records.\n" "records.\n"
"Setting this too high costs memory, setting it too low will cause " "Setting this too high costs memory, setting it too low will cause "
"more VSL flushes and likely increase lock-contention on the VSL " "more VSL flushes and likely increase lock-contention on the VSL "
"mutex.\n" "mutex.\n"
"The minimum tracks the vsl_reclen parameter + 12 bytes.\n", "The minimum tracks the vsl_reclen parameter + 12 bytes.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#if 0 #if 0
PARAM( PARAM(
/* name */ vsl_mask, /* name */ vsl_mask,
/* tweak */ tweak_mask /* typ */ vsl_mask,
/* var */ vsl_mask, /* min */ NULL,
/* min */ none, /* max */ NULL,
/* max */ none, /* default */ "default",
/* default */ -VCL_trace,-WorkThread,-Hash,-VfpAcct, /* units */ NULL,
/* units */ , /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Mask individual VSL messages from being logged.\n" "Mask individual VSL messages from being logged.\n"
" default Set default value\n" " default Set default value\n"
"\n" "\n"
"Use +/- prefixe in front of VSL tag name, to mask/unmask " "Use +/- prefixe in front of VSL tag name, to mask/unmask "
"individual VSL messages.\n", "individual VSL messages.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#endif #endif
PARAM( PARAM(
/* name */ vsl_reclen, /* name */ vsl_reclen,
/* tweak */ tweak_vsl_reclen, /* typ */ vsl_reclen,
/* var */ vsl_reclen, /* min */ "16b",
/* min */ 16b, /* max */ "4084b",
/* max */ 4084b, /* default */ "255b",
/* default */ 255b, /* units */ "bytes",
/* units */ bytes, /* flags */ 0,
/* flags */ 00,
/* s-text */ /* s-text */
"Maximum number of bytes in SHM log record.\n" "Maximum number of bytes in SHM log record.\n"
"The maximum tracks the vsl_buffer parameter - 12 bytes.\n", "The maximum tracks the vsl_buffer parameter - 12 bytes.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ vsl_space, /* name */ vsl_space,
/* tweak */ tweak_bytes, /* typ */ bytes,
/* var */ vsl_space, /* min */ "1M",
/* min */ 1M, /* max */ NULL,
/* max */ none, /* default */ "80M",
/* default */ 80M, /* units */ "bytes",
/* units */ bytes, /* flags */ MUST_RESTART,
/* flags */ 0| MUST_RESTART,
/* s-text */ /* s-text */
"The amount of space to allocate for the VSL fifo buffer in the " "The amount of space to allocate for the VSL fifo buffer in the "
"VSM memory segment. If you make this too small, " "VSM memory segment. If you make this too small, "
"varnish{ncsa|log} etc will not be able to keep up. Making it too " "varnish{ncsa|log} etc will not be able to keep up. Making it too "
"large just costs memory resources.\n", "large just costs memory resources.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ vsm_space, /* name */ vsm_space,
/* tweak */ tweak_bytes, /* typ */ bytes,
/* var */ vsm_space, /* min */ "1M",
/* min */ 1M, /* max */ NULL,
/* max */ none, /* default */ "1M",
/* default */ 1M, /* units */ "bytes",
/* units */ bytes, /* flags */ MUST_RESTART,
/* flags */ 0| MUST_RESTART,
/* s-text */ /* s-text */
"The amount of space to allocate for stats counters in the VSM " "The amount of space to allocate for stats counters in the VSM "
"memory segment. If you make this too small, some counters will " "memory segment. If you make this too small, some counters will "
"be invisible. Making it too large just costs memory resources.\n", "be invisible. Making it too large just costs memory resources.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#if 0 #if 0
PARAM( PARAM(
/* name */ waiter, /* name */ waiter,
/* tweak */ tweak_waiter, /* typ */ waiter,
/* var */ waiter, /* min */ NULL,
/* min */ none, /* max */ NULL,
/* max */ none,
/* default */ kqueue (possible values: kqueue, poll), /* default */ kqueue (possible values: kqueue, poll),
/* units */ (null), /* units */ NULL,
/* flags */ 0| MUST_RESTART| WIZARD, /* flags */ MUST_RESTART| WIZARD,
/* s-text */ /* s-text */
"Select the waiter kernel interface.\n", "Select the waiter kernel interface.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
#endif #endif
PARAM( PARAM(
/* name */ workspace_backend, /* name */ workspace_backend,
/* tweak */ tweak_bytes_u, /* typ */ bytes_u,
/* var */ workspace_backend, /* min */ "1k",
/* min */ 1k, /* max */ NULL,
/* max */ none, /* default */ "64k",
/* default */ 64k, /* units */ "bytes",
/* units */ bytes, /* flags */ DELAYED_EFFECT,
/* flags */ 0| DELAYED_EFFECT,
/* s-text */ /* s-text */
"Bytes of HTTP protocol workspace for backend HTTP req/resp. If " "Bytes of HTTP protocol workspace for backend HTTP req/resp. If "
"larger than 4k, use a multiple of 4k for VM efficiency.\n", "larger than 4k, use a multiple of 4k for VM efficiency.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ workspace_client, /* name */ workspace_client,
/* tweak */ tweak_bytes_u, /* typ */ bytes_u,
/* var */ workspace_client, /* min */ "9k",
/* min */ 9k, /* max */ NULL,
/* max */ none, /* default */ "64k",
/* default */ 64k, /* units */ "bytes",
/* units */ bytes, /* flags */ DELAYED_EFFECT,
/* flags */ 0| DELAYED_EFFECT,
/* s-text */ /* s-text */
"Bytes of HTTP protocol workspace for clients HTTP req/resp. If " "Bytes of HTTP protocol workspace for clients HTTP req/resp. If "
"larger than 4k, use a multiple of 4k for VM efficiency.\n", "larger than 4k, use a multiple of 4k for VM efficiency.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ workspace_session, /* name */ workspace_session,
/* tweak */ tweak_bytes_u, /* typ */ bytes_u,
/* var */ workspace_session, /* min */ "0.25k",
/* min */ 0.25k, /* max */ NULL,
/* max */ none, /* default */ "0.50k",
/* default */ 0.50k, /* units */ "bytes",
/* units */ bytes, /* flags */ DELAYED_EFFECT,
/* flags */ 0| DELAYED_EFFECT,
/* s-text */ /* s-text */
"Allocation size for session structure and workspace. The " "Allocation size for session structure and workspace. The "
"workspace is primarily used for TCP connection addresses. If " "workspace is primarily used for TCP connection addresses. If "
"larger than 4k, use a multiple of 4k for VM efficiency.\n", "larger than 4k, use a multiple of 4k for VM efficiency.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
PARAM( PARAM(
/* name */ workspace_thread, /* name */ workspace_thread,
/* tweak */ tweak_bytes_u, /* typ */ bytes_u,
/* var */ workspace_thread, /* min */ "0.25k",
/* min */ 0.25k, /* max */ "8k",
/* max */ 8k, /* default */ "2k",
/* default */ 2k, /* units */ "bytes",
/* units */ bytes, /* flags */ DELAYED_EFFECT,
/* flags */ 0| DELAYED_EFFECT,
/* s-text */ /* s-text */
"Bytes of auxiliary workspace per thread.\n" "Bytes of auxiliary workspace per thread.\n"
"This workspace is used for certain temporary data structures " "This workspace is used for certain temporary data structures "
"during the operation of a worker thread.\n" "during the operation of a worker thread.\n"
"One use is for the io-vectors for writing requests and responses " "One use is for the io-vectors for writing requests and responses "
"to sockets, having too little space will result in more writev(2) " "to sockets, having too little space will result in more writev(2) "
"system calls, having too much just wastes the space.\n", "system calls, having too much just wastes the space.",
/* l-text */ "", /* l-text */ "",
/* func */ NULL /* func */ NULL
) )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment