.. The following is the autogenerated output from varnishd -x dumprstparam
.. The following is the autogenerated output from varnishd -x dumprstparam
.. _ref_param_accept_filter:
accept_filter
accept_filter
~~~~~~~~~~~~~
- Units: bool
- Units: bool
- Default: on
- Default: on
- Flags: must_restart
- Flags: must_restart
Enable kernel accept-filters, if supported by the kernel.
Enable kernel accept-filters, if supported by the kernel.
.. _ref_param_acceptor_sleep_decay:
acceptor_sleep_decay
acceptor_sleep_decay
~~~~~~~~~~~~~~~~~~~~
- Default: 0.900
- Default: 0.900
- Flags: experimental
- Flags: experimental
If we run out of resources, such as file descriptors or worker threads, the acceptor will sleep between accepts.
If we run out of resources, such as file descriptors or worker threads, the acceptor will sleep between accepts.
This parameter (multiplicatively) reduce the sleep duration for each succesfull accept. (ie: 0.9 = reduce by 10%)
This parameter (multiplicatively) reduce the sleep duration for each succesfull accept. (ie: 0.9 = reduce by 10%)
.. _ref_param_acceptor_sleep_incr:
acceptor_sleep_incr
acceptor_sleep_incr
~~~~~~~~~~~~~~~~~~~
- Units: s
- Units: s
- Default: 0.001
- Default: 0.001
- Flags: experimental
- Flags: experimental
...
@@ -23,7 +32,10 @@ acceptor_sleep_incr
...
@@ -23,7 +32,10 @@ acceptor_sleep_incr
If we run out of resources, such as file descriptors or worker threads, the acceptor will sleep between accepts.
If we run out of resources, such as file descriptors or worker threads, the acceptor will sleep between accepts.
This parameter control how much longer we sleep, each time we fail to accept a new connection.
This parameter control how much longer we sleep, each time we fail to accept a new connection.
.. _ref_param_acceptor_sleep_max:
acceptor_sleep_max
acceptor_sleep_max
~~~~~~~~~~~~~~~~~~
- Units: s
- Units: s
- Default: 0.050
- Default: 0.050
- Flags: experimental
- Flags: experimental
...
@@ -31,44 +43,65 @@ acceptor_sleep_max
...
@@ -31,44 +43,65 @@ acceptor_sleep_max
If we run out of resources, such as file descriptors or worker threads, the acceptor will sleep between accepts.
If we run out of resources, such as file descriptors or worker threads, the acceptor will sleep between accepts.
This parameter limits how long it can sleep between attempts to accept new connections.
This parameter limits how long it can sleep between attempts to accept new connections.
.. _ref_param_auto_restart:
auto_restart
auto_restart
~~~~~~~~~~~~
- Units: bool
- Units: bool
- Default: on
- Default: on
Restart child process automatically if it dies.
Restart child process automatically if it dies.
.. _ref_param_ban_dups:
ban_dups
ban_dups
~~~~~~~~
- Units: bool
- Units: bool
- Default: on
- Default: on
Detect and eliminate duplicate bans.
Detect and eliminate duplicate bans.
.. _ref_param_ban_lurker_sleep:
ban_lurker_sleep
ban_lurker_sleep
~~~~~~~~~~~~~~~~
- Units: s
- Units: s
- Default: 0.01
- Default: 0.01
How long time does the ban lurker thread sleeps between successful attempts to push the last item up the ban list. It always sleeps a second when nothing can be done.
How long time does the ban lurker thread sleeps between successful attempts to push the last item up the ban list. It always sleeps a second when nothing can be done.
A value of zero disables the ban lurker.
A value of zero disables the ban lurker.
.. _ref_param_between_bytes_timeout:
between_bytes_timeout
between_bytes_timeout
~~~~~~~~~~~~~~~~~~~~~
- Units: s
- Units: s
- Default: 60
- Default: 60
Default timeout between bytes when receiving data from backend. We only wait for this many seconds between bytes before giving up. A value of 0 means it will never time out. VCL can override this default value for each backend request and backend request. This parameter does not apply to pipe.
Default timeout between bytes when receiving data from backend. We only wait for this many seconds between bytes before giving up. A value of 0 means it will never time out. VCL can override this default value for each backend request and backend request. This parameter does not apply to pipe.
.. _ref_param_busyobj_worker_cache:
busyobj_worker_cache
busyobj_worker_cache
~~~~~~~~~~~~~~~~~~~~
- Units: bool
- Units: bool
- Default: off
- Default: off
Cache free busyobj per worker thread.Disable this if you have very high hitrates and wantto save the memory of one busyobj per worker thread.
Cache free busyobj per worker thread. Disable this if you have very high hitrates and want to save the memory of one busyobj per worker thread.
Command used for compiling the C source code to a dlopen(3) loadable object. Any occurrence of %s in the string will be replaced with the source file name, and %o will be replaced with the output file name.
Command used for compiling the C source code to a dlopen(3) loadable object. Any occurrence of %s in the string will be replaced with the source file name, and %o will be replaced with the output file name.
.. _ref_param_cli_buffer:
cli_buffer
cli_buffer
~~~~~~~~~~
- Units: bytes
- Units: bytes
- Default: 8k
- Default: 8k
...
@@ -76,42 +109,61 @@ cli_buffer
...
@@ -76,42 +109,61 @@ cli_buffer
You may need to increase this if you have big VCL files and use the vcl.inline CLI command.
You may need to increase this if you have big VCL files and use the vcl.inline CLI command.
NB: Must be specified with -p to have effect.
NB: Must be specified with -p to have effect.
.. _ref_param_cli_limit:
cli_limit
cli_limit
~~~~~~~~~
- Units: bytes
- Units: bytes
- Default: 48k
- Default: 48k
Maximum size of CLI response. If the response exceeds this limit, the reponse code will be 201 instead of 200 and the last line will indicate the truncation.
Maximum size of CLI response. If the response exceeds this limit, the reponse code will be 201 instead of 200 and the last line will indicate the truncation.
.. _ref_param_cli_timeout:
cli_timeout
cli_timeout
~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 10
- Default: 10
Timeout for the childs replies to CLI requests from the mgt_param.
Timeout for the childs replies to CLI requests from the mgt_param.
.. _ref_param_clock_skew:
clock_skew
clock_skew
~~~~~~~~~~
- Units: s
- Units: s
- Default: 10
- Default: 10
How much clockskew we are willing to accept between the backend and our own clock.
How much clockskew we are willing to accept between the backend and our own clock.
.. _ref_param_connect_timeout:
connect_timeout
connect_timeout
~~~~~~~~~~~~~~~
- Units: s
- Units: s
- Default: 0.7
- Default: 3.5
Default connection timeout for backend connections. We only try to connect to the backend for this many seconds before giving up. VCL can override this default value for each backend and backend request.
Default connection timeout for backend connections. We only try to connect to the backend for this many seconds before giving up. VCL can override this default value for each backend and backend request.
.. _ref_param_critbit_cooloff:
critbit_cooloff
critbit_cooloff
~~~~~~~~~~~~~~~
- Units: s
- Units: s
- Default: 180.0
- Default: 180.0
- Flags: wizard
- Flags: wizard
How long time the critbit hasher keeps deleted objheads on the cooloff list.
How long time the critbit hasher keeps deleted objheads on the cooloff list.
.. _ref_param_debug:
debug
debug
~~~~~
- Default: none
- Default: none
Enable/Disable various kinds of debugging.
Enable/Disable various kinds of debugging.
none Disable all debugging
none Disable all debugging
Use +/- prefix to set/reset individual bits::
Use +/- prefix to set/reset individual bits::
req_state VSL Request state engine
req_state VSL Request state engine
...
@@ -122,8 +174,12 @@ debug
...
@@ -122,8 +174,12 @@ debug
hashedge Edge cases in Hash
hashedge Edge cases in Hash
vclrel Rapid VCL release
vclrel Rapid VCL release
lurker VSL Ban lurker
lurker VSL Ban lurker
esi_chop Chop ESI fetch to bits
.. _ref_param_default_grace:
default_grace
default_grace
~~~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 10
- Default: 10
- Flags: delayed
- Flags: delayed
...
@@ -131,14 +187,20 @@ default_grace
...
@@ -131,14 +187,20 @@ default_grace
Default grace period. We will deliver an object this long after it has expired, provided another thread is attempting to get a new copy.
Default grace period. We will deliver an object this long after it has expired, provided another thread is attempting to get a new copy.
Objects already cached will not be affected by changes made until they are fetched from the backend again.
Objects already cached will not be affected by changes made until they are fetched from the backend again.
.. _ref_param_default_keep:
default_keep
default_keep
~~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 0
- Default: 0
- Flags: delayed
- Flags: delayed
Default keep period. We will keep a useless object around this long, making it available for conditional backend fetches. That means that the object will be removed from the cache at the end of ttl+grace+keep.
Default keep period. We will keep a useless object around this long, making it available for conditional backend fetches. That means that the object will be removed from the cache at the end of ttl+grace+keep.
.. _ref_param_default_ttl:
default_ttl
default_ttl
~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 120
- Default: 120
...
@@ -146,37 +208,37 @@ default_ttl
...
@@ -146,37 +208,37 @@ default_ttl
Objects already cached will not be affected by changes made until they are fetched from the backend again.
Objects already cached will not be affected by changes made until they are fetched from the backend again.
To force an immediate effect at the expense of a total flush of the cache use "ban obj.http.date ~ ."
To force an immediate effect at the expense of a total flush of the cache use "ban obj.http.date ~ ."
esi_syntax
.. _ref_param_expiry_sleep:
- Units: bitmap
- Default: 0
Bitmap controlling ESI parsing code::
0x00000001 - Don't check if it looks like XML
0x00000002 - Ignore non-esi elements
0x00000004 - Emit parsing debug records
0x00000008 - Force-split parser input (debugging)
Use 0x notation and do the bitor in your head :-)
expiry_sleep
expiry_sleep
~~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 1
- Default: 1
How long the expiry thread sleeps when there is nothing for it to do.
How long the expiry thread sleeps when there is nothing for it to do.
.. _ref_param_feature:
feature
feature
~~~~~~~
- Default: none
- Default: none
Enable/Disable various minor features.
Enable/Disable various minor features.
none Disable all features.
none Disable all features.
Use +/- prefix to enable/disable individual feature::
Use +/- prefix to enable/disable individual feature::
short_panic Short panic message.
short_panic Short panic message.
wait_silo Wait for persistent silo.
wait_silo Wait for persistent silo.
no_coredump No coredumps.
no_coredump No coredumps.
esi_ignore_https Treat HTTPS as HTTP in ESI:includes
esi_disable_xml_check Don't check of body looks like XML
The default chunksize used by fetcher. This should be bigger than the majority of objects with short TTLs.
The default chunksize used by fetcher. This should be bigger than the majority of objects with short TTLs.
Internal limits in the storage_file module makes increases above 128kb a dubious idea.
Internal limits in the storage_file module makes increases above 128kb a dubious idea.
.. _ref_param_fetch_maxchunksize:
fetch_maxchunksize
fetch_maxchunksize
~~~~~~~~~~~~~~~~~~
- Units: bytes
- Units: bytes
- Default: 256m
- Default: 256m
- Flags: experimental
- Flags: experimental
The maximum chunksize we attempt to allocate from storage. Making this too large may cause delays and storage fragmentation.
The maximum chunksize we attempt to allocate from storage. Making this too large may cause delays and storage fragmentation.
.. _ref_param_first_byte_timeout:
first_byte_timeout
first_byte_timeout
~~~~~~~~~~~~~~~~~~
- Units: s
- Units: s
- Default: 60
- Default: 60
Default timeout for receiving first byte from backend. We only wait for this many seconds for the first byte before giving up. A value of 0 means it will never time out. VCL can override this default value for each backend and backend request. This parameter does not apply to pipe.
Default timeout for receiving first byte from backend. We only wait for this many seconds for the first byte before giving up. A value of 0 means it will never time out. VCL can override this default value for each backend and backend request. This parameter does not apply to pipe.
.. _ref_param_group:
group
group
~~~~~
- Default: nogroup
- Default: nogroup
- Flags: must_restart
- Flags: must_restart
The unprivileged group to run as.
The unprivileged group to run as.
.. _ref_param_gzip_buffer:
gzip_buffer
gzip_buffer
~~~~~~~~~~~
- Units: bytes
- Units: bytes
- Default: 32k
- Default: 32k
- Flags: experimental
- Flags: experimental
...
@@ -211,29 +285,40 @@ gzip_buffer
...
@@ -211,29 +285,40 @@ gzip_buffer
Size of malloc buffer used for gzip processing.
Size of malloc buffer used for gzip processing.
These buffers are used for in-transit data, for instance gunzip'ed data being sent to a client.Making this space to small results in more overhead, writes to sockets etc, making it too big is probably just a waste of memory.
These buffers are used for in-transit data, for instance gunzip'ed data being sent to a client.Making this space to small results in more overhead, writes to sockets etc, making it too big is probably just a waste of memory.
Enable gzip support. When enabled Varnish will compress uncompressed objects before they are stored in the cache. If a client does not support gzip encoding Varnish will uncompress compressed objects on demand. Varnish will also rewrite the Accept-Encoding header of clients indicating support for gzip to::
Enable gzip support. When enabled Varnish request compressed objects from the backend and store them compressed. If a client does not support gzip encoding Varnish will uncompress compressed objects on demand. Varnish will also rewrite the Accept-Encoding header of clients indicating support for gzip to::
Accept-Encoding: gzip
Accept-Encoding: gzip
Clients that do not support gzip will have their Accept-Encoding header removed. For more information on how gzip is implemented please see the chapter on gzip in the Varnish reference.
Clients that do not support gzip will have their Accept-Encoding header removed. For more information on how gzip is implemented please see the chapter on gzip in the Varnish reference.
.. _ref_param_http_max_hdr:
http_max_hdr
http_max_hdr
~~~~~~~~~~~~
- Units: header lines
- Units: header lines
- Default: 64
- Default: 64
...
@@ -241,39 +326,57 @@ http_max_hdr
...
@@ -241,39 +326,57 @@ http_max_hdr
Cheap, ~20 bytes, in terms of workspace memory.
Cheap, ~20 bytes, in terms of workspace memory.
Note that the first line occupies five header lines.
Note that the first line occupies five header lines.
.. _ref_param_http_range_support:
http_range_support
http_range_support
~~~~~~~~~~~~~~~~~~
- Units: bool
- Units: bool
- Default: on
- Default: on
Enable support for HTTP Range headers.
Enable support for HTTP Range headers.
.. _ref_param_http_req_hdr_len:
http_req_hdr_len
http_req_hdr_len
~~~~~~~~~~~~~~~~
- Units: bytes
- Units: bytes
- Default: 8k
- Default: 8k
Maximum length of any HTTP client request header we will allow. The limit is inclusive its continuation lines.
Maximum length of any HTTP client request header we will allow. The limit is inclusive its continuation lines.
.. _ref_param_http_req_size:
http_req_size
http_req_size
~~~~~~~~~~~~~
- Units: bytes
- Units: bytes
- Default: 32k
- Default: 32k
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 ends the HTTP request.
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 ends the HTTP request.
The memory for the request is allocated from the client workspace (param: workspace_client) and this parameter limits how much of that the request is allowed to take up.
The memory for the request is allocated from the client workspace (param: workspace_client) and this parameter limits how much of that the request is allowed to take up.
.. _ref_param_http_resp_hdr_len:
http_resp_hdr_len
http_resp_hdr_len
~~~~~~~~~~~~~~~~~
- Units: bytes
- Units: bytes
- Default: 8k
- Default: 8k
Maximum length of any HTTP backend response header we will allow. The limit is inclusive its continuation lines.
Maximum length of any HTTP backend response header we will allow. The limit is inclusive its continuation lines.
.. _ref_param_http_resp_size:
http_resp_size
http_resp_size
~~~~~~~~~~~~~~
- Units: bytes
- Units: bytes
- Default: 32k
- Default: 32k
Maximum number of bytes of HTTP backend resonse we will deal with. This is a limit on all bytes up to the double blank line which ends the HTTP request.
Maximum number of bytes of HTTP backend resonse we will deal with. This is a limit on all bytes up to the double blank line which ends the HTTP request.
The memory for the request is allocated from the worker workspace (param: thread_pool_workspace) and this parameter limits how much of that the request is allowed to take up.
The memory for the request is allocated from the worker workspace (param: thread_pool_workspace) and this parameter limits how much of that the request is allowed to take up.
.. _ref_param_idle_send_timeout:
idle_send_timeout
idle_send_timeout
~~~~~~~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 60
- Default: 60
- Flags: delayed
- Flags: delayed
...
@@ -282,28 +385,40 @@ idle_send_timeout
...
@@ -282,28 +385,40 @@ idle_send_timeout
seconds the session is closed.
seconds the session is closed.
See setsockopt(2) under SO_SNDTIMEO for more information.
See setsockopt(2) under SO_SNDTIMEO for more information.
.. _ref_param_listen_address:
listen_address
listen_address
~~~~~~~~~~~~~~
- Default: :80
- Default: :80
- Flags: must_restart
- Flags: must_restart
Whitespace separated list of network endpoints where Varnish will accept requests.
Whitespace separated list of network endpoints where Varnish will accept requests.
Possible formats: host, host:port, :port
Possible formats: host, host:port, :port
.. _ref_param_listen_depth:
listen_depth
listen_depth
~~~~~~~~~~~~
- Units: connections
- Units: connections
- Default: 1024
- Default: 1024
- Flags: must_restart
- Flags: must_restart
Listen queue depth.
Listen queue depth.
.. _ref_param_log_local_address:
log_local_address
log_local_address
~~~~~~~~~~~~~~~~~
- Units: bool
- Units: bool
- Default: on
- Default: on
Log the local address on the TCP connection in the SessionOpen VSL record.
Log the local address on the TCP connection in the SessionOpen VSL record.
Disabling this saves a getsockname(2) system call per TCP connection.
Disabling this saves a getsockname(2) system call per TCP connection.
.. _ref_param_lru_interval:
lru_interval
lru_interval
~~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 2
- Default: 2
- Flags: experimental
- Flags: experimental
...
@@ -311,43 +426,64 @@ lru_interval
...
@@ -311,43 +426,64 @@ lru_interval
Grace period before object moves on LRU list.
Grace period before object moves on LRU list.
Objects are only moved to the front of the LRU list if they have not been moved there already inside this timeout period. This reduces the amount of lock operations necessary for LRU list access.
Objects are only moved to the front of the LRU list if they have not been moved there already inside this timeout period. This reduces the amount of lock operations necessary for LRU list access.
.. _ref_param_max_esi_depth:
max_esi_depth
max_esi_depth
~~~~~~~~~~~~~
- Units: levels
- Units: levels
- Default: 5
- Default: 5
Maximum depth of esi:include processing.
Maximum depth of esi:include processing.
.. _ref_param_max_restarts:
max_restarts
max_restarts
~~~~~~~~~~~~
- Units: restarts
- Units: restarts
- Default: 4
- Default: 4
Upper limit on how many times a request can restart.
Upper limit on how many times a request can restart.
Be aware that restarts are likely to cause a hit against the backend, so don't increase thoughtlessly.
Be aware that restarts are likely to cause a hit against the backend, so don't increase thoughtlessly.
.. _ref_param_max_retries:
max_retries
~~~~~~~~~~~
- Units: retries
- Default: 4
Upper limit on how many times a backend fetch can retry.
.. _ref_param_nuke_limit:
nuke_limit
nuke_limit
~~~~~~~~~~
- Units: allocations
- Units: allocations
- Default: 50
- Default: 50
- Flags: experimental
- Flags: experimental
Maximum number of objects we attempt to nuke in orderto make space for a object body.
Maximum number of objects we attempt to nuke in orderto make space for a object body.
obj_readonly
.. _ref_param_pcre_match_limit:
- Units: bool
- Default: false
If set, we do not update obj.hits and obj.lastuse to avoid dirtying VM pages associated with cached objects.
pcre_match_limit
pcre_match_limit
~~~~~~~~~~~~~~~~
- Default: 10000
- Default: 10000
The limit for the number of internal matching function calls in a pcre_exec() execution.
The limit for the number of internal matching function calls in a pcre_exec() execution.
.. _ref_param_pcre_match_limit_recursion:
pcre_match_limit_recursion
pcre_match_limit_recursion
~~~~~~~~~~~~~~~~~~~~~~~~~~
- Default: 10000
- Default: 10000
The limit for the number of internal matching function recursions in a pcre_exec() execution.
The limit for the number of internal matching function recursions in a pcre_exec() execution.
.. _ref_param_ping_interval:
ping_interval
ping_interval
~~~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 3
- Default: 3
- Flags: must_restart
- Flags: must_restart
...
@@ -355,13 +491,19 @@ ping_interval
...
@@ -355,13 +491,19 @@ ping_interval
Interval between pings from parent to child.
Interval between pings from parent to child.
Zero will disable pinging entirely, which makes it possible to attach a debugger to the child.
Zero will disable pinging entirely, which makes it possible to attach a debugger to the child.
.. _ref_param_pipe_timeout:
pipe_timeout
pipe_timeout
~~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 60
- Default: 60
Idle timeout for PIPE sessions. If nothing have been received in either direction for this many seconds, the session is closed.
Idle timeout for PIPE sessions. If nothing have been received in either direction for this many seconds, the session is closed.
.. _ref_param_pool_req:
pool_req
pool_req
~~~~~~~~
- Default: 10,100,10
- Default: 10,100,10
Parameters for per worker pool request memory pool.
Parameters for per worker pool request memory pool.
...
@@ -371,7 +513,10 @@ pool_req
...
@@ -371,7 +513,10 @@ pool_req
max_pool -- maximum size of free pool.
max_pool -- maximum size of free pool.
max_age -- max age of free element.
max_age -- max age of free element.
.. _ref_param_pool_sess:
pool_sess
pool_sess
~~~~~~~~~
- Default: 10,100,10
- Default: 10,100,10
Parameters for per worker pool session memory pool.
Parameters for per worker pool session memory pool.
...
@@ -381,7 +526,10 @@ pool_sess
...
@@ -381,7 +526,10 @@ pool_sess
max_pool -- maximum size of free pool.
max_pool -- maximum size of free pool.
max_age -- max age of free element.
max_age -- max age of free element.
.. _ref_param_pool_vbc:
pool_vbc
pool_vbc
~~~~~~~~
- Default: 10,100,10
- Default: 10,100,10
Parameters for backend connection memory pool.
Parameters for backend connection memory pool.
...
@@ -391,7 +539,10 @@ pool_vbc
...
@@ -391,7 +539,10 @@ pool_vbc
max_pool -- maximum size of free pool.
max_pool -- maximum size of free pool.
max_age -- max age of free element.
max_age -- max age of free element.
.. _ref_param_pool_vbo:
pool_vbo
pool_vbo
~~~~~~~~
- Default: 10,100,10
- Default: 10,100,10
Parameters for backend object fetch memory pool.
Parameters for backend object fetch memory pool.
...
@@ -401,13 +552,19 @@ pool_vbo
...
@@ -401,13 +552,19 @@ pool_vbo
max_pool -- maximum size of free pool.
max_pool -- maximum size of free pool.
max_age -- max age of free element.
max_age -- max age of free element.
.. _ref_param_prefer_ipv6:
prefer_ipv6
prefer_ipv6
~~~~~~~~~~~
- Units: bool
- Units: bool
- Default: off
- Default: off
Prefer IPv6 address when connecting to backends which have both IPv4 and IPv6 addresses.
Prefer IPv6 address when connecting to backends which have both IPv4 and IPv6 addresses.
.. _ref_param_rush_exponent:
rush_exponent
rush_exponent
~~~~~~~~~~~~~
- Units: requests per request
- Units: requests per request
- Default: 3
- Default: 3
- Flags: experimental
- Flags: experimental
...
@@ -415,14 +572,10 @@ rush_exponent
...
@@ -415,14 +572,10 @@ rush_exponent
How many parked request we start for each completed request on the object.
How many parked request we start for each completed request on the object.
NB: Even with the implict delay of delivery, this parameter controls an exponential increase in number of worker threads.
NB: Even with the implict delay of delivery, this parameter controls an exponential increase in number of worker threads.
saintmode_threshold
.. _ref_param_send_timeout:
- Units: objects
- Default: 10
- Flags: experimental
The maximum number of objects held off by saint mode before no further will be made to the backend until one times out. A value of 0 disables saintmode.
send_timeout
send_timeout
~~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 600
- Default: 600
- Flags: delayed
- Flags: delayed
...
@@ -431,54 +584,88 @@ send_timeout
...
@@ -431,54 +584,88 @@ send_timeout
seconds the session is closed.
seconds the session is closed.
See setsockopt(2) under SO_SNDTIMEO for more information.
See setsockopt(2) under SO_SNDTIMEO for more information.
.. _ref_param_session_max:
session_max
session_max
~~~~~~~~~~~
- Units: sessions
- Units: sessions
- Default: 100000
- Default: 100000
Maximum number of sessions we will allocate from one pool before just dropping connections.
Maximum number of sessions we will allocate from one pool before just dropping connections.
This is mostly an anti-DoS measure, and setting it plenty high should not hurt, as long as you have the memory for it.
This is mostly an anti-DoS measure, and setting it plenty high should not hurt, as long as you have the memory for it.
.. _ref_param_shm_reclen:
shm_reclen
shm_reclen
~~~~~~~~~~
- Units: bytes
- Units: bytes
- Default: 255
- Default: 255
Maximum number of bytes in SHM log record.
Maximum number of bytes in SHM log record.
Maximum is 65535 bytes.
Maximum is 65535 bytes.
.. _ref_param_shortlived:
shortlived
shortlived
~~~~~~~~~~
- Units: s
- Units: s
- Default: 10.0
- Default: 10.0
Objects created with TTL shorter than this are always put in transient storage.
Objects created with TTL shorter than this are always put in transient storage.
.. _ref_param_sigsegv_handler:
sigsegv_handler
~~~~~~~~~~~~~~~
- Units: bool
- Default: off
- Flags: must_restart
Install a signal handler which tries to dump debug information on segmentation faults.
.. _ref_param_syslog_cli_traffic:
syslog_cli_traffic
syslog_cli_traffic
~~~~~~~~~~~~~~~~~~
- Units: bool
- Units: bool
- Default: on
- Default: on
Log all CLI traffic to syslog(LOG_INFO).
Log all CLI traffic to syslog(LOG_INFO).
.. _ref_param_tcp_keepalive_intvl:
tcp_keepalive_intvl
tcp_keepalive_intvl
~~~~~~~~~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 5
- Default: 5
- Flags: experimental
- Flags: experimental
The number of seconds between TCP keep-alive probes. Note that this setting will only take effect when it is less thanthe system default.
The number of seconds between TCP keep-alive probes. Note that this setting will only take effect when it is less thanthe system default.
.. _ref_param_tcp_keepalive_probes:
tcp_keepalive_probes
tcp_keepalive_probes
~~~~~~~~~~~~~~~~~~~~
- Units: probes
- Units: probes
- Default: 5
- Default: 5
- Flags: experimental
- Flags: experimental
The maximum number of TCP keep-alive probes to send before giving up and killing the connection if no response is obtained from the other end. Note that this setting will only take effect when it is less than the system default.
The maximum number of TCP keep-alive probes to send before giving up and killing the connection if no response is obtained from the other end. Note that this setting will only take effect when it is less than the system default.
.. _ref_param_tcp_keepalive_time:
tcp_keepalive_time
tcp_keepalive_time
~~~~~~~~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 600
- Default: 600
- Flags: experimental
- Flags: experimental
The number of seconds a connection needs to be idle before TCP begins sending out keep-alive probes. Note that this setting will only take effect when it is less than the system default.
The number of seconds a connection needs to be idle before TCP begins sending out keep-alive probes. Note that this setting will only take effect when it is less than the system default.
.. _ref_param_thread_pool_add_delay:
thread_pool_add_delay
thread_pool_add_delay
~~~~~~~~~~~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 0
- Default: 0
- Flags: experimental
- Flags: experimental
...
@@ -490,7 +677,10 @@ thread_pool_add_delay
...
@@ -490,7 +677,10 @@ thread_pool_add_delay
Setting this too high results in insuffient worker threads.
Setting this too high results in insuffient worker threads.
.. _ref_param_thread_pool_destroy_delay:
thread_pool_destroy_delay
thread_pool_destroy_delay
~~~~~~~~~~~~~~~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 1
- Default: 1
- Flags: delayed, experimental
- Flags: delayed, experimental
...
@@ -501,7 +691,10 @@ thread_pool_destroy_delay
...
@@ -501,7 +691,10 @@ thread_pool_destroy_delay
Minimum is 0.01 second.
Minimum is 0.01 second.
.. _ref_param_thread_pool_fail_delay:
thread_pool_fail_delay
thread_pool_fail_delay
~~~~~~~~~~~~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 0.2
- Default: 0.2
- Flags: experimental
- Flags: experimental
...
@@ -514,7 +707,10 @@ thread_pool_fail_delay
...
@@ -514,7 +707,10 @@ thread_pool_fail_delay
It may also help to increase thread_pool_timeout and thread_pool_min, to reduce the rate at which treads are destroyed and later recreated.
It may also help to increase thread_pool_timeout and thread_pool_min, to reduce the rate at which treads are destroyed and later recreated.
.. _ref_param_thread_pool_max:
thread_pool_max
thread_pool_max
~~~~~~~~~~~~~~~
- Units: threads
- Units: threads
- Default: 5000
- Default: 5000
- Flags: delayed
- Flags: delayed
...
@@ -525,7 +721,10 @@ thread_pool_max
...
@@ -525,7 +721,10 @@ thread_pool_max
Minimum is 10 threads.
Minimum is 10 threads.
.. _ref_param_thread_pool_min:
thread_pool_min
thread_pool_min
~~~~~~~~~~~~~~~
- Units: threads
- Units: threads
- Default: 100
- Default: 100
- Flags: delayed
- Flags: delayed
...
@@ -536,7 +735,10 @@ thread_pool_min
...
@@ -536,7 +735,10 @@ thread_pool_min
Minimum is 10 threads.
Minimum is 10 threads.
.. _ref_param_thread_pool_stack:
thread_pool_stack
thread_pool_stack
~~~~~~~~~~~~~~~~~
- Units: bytes
- Units: bytes
- Default: 48k
- Default: 48k
- Flags: experimental
- Flags: experimental
...
@@ -545,7 +747,10 @@ thread_pool_stack
...
@@ -545,7 +747,10 @@ thread_pool_stack
This is likely rounded up to a multiple of 4k by the kernel.
This is likely rounded up to a multiple of 4k by the kernel.
The kernel/OS has a lower limit which will be enforced.
The kernel/OS has a lower limit which will be enforced.
.. _ref_param_thread_pool_timeout:
thread_pool_timeout
thread_pool_timeout
~~~~~~~~~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 300
- Default: 300
- Flags: delayed, experimental
- Flags: delayed, experimental
...
@@ -556,7 +761,10 @@ thread_pool_timeout
...
@@ -556,7 +761,10 @@ thread_pool_timeout
Minimum is 10 seconds.
Minimum is 10 seconds.
.. _ref_param_thread_pools:
thread_pools
thread_pools
~~~~~~~~~~~~
- Units: pools
- Units: pools
- Default: 2
- Default: 2
- Flags: delayed, experimental
- Flags: delayed, experimental
...
@@ -569,7 +777,10 @@ thread_pools
...
@@ -569,7 +777,10 @@ thread_pools
Can be increased on the fly, but decreases require a restart to take effect.
Can be increased on the fly, but decreases require a restart to take effect.
.. _ref_param_thread_queue_limit:
thread_queue_limit
thread_queue_limit
~~~~~~~~~~~~~~~~~~
- Default: 20
- Default: 20
- Flags: experimental
- Flags: experimental
...
@@ -577,7 +788,10 @@ thread_queue_limit
...
@@ -577,7 +788,10 @@ thread_queue_limit
This sets the number of requests we will queue, waiting for an available thread. Above this limit sessions will be dropped instead of queued.
This sets the number of requests we will queue, waiting for an available thread. Above this limit sessions will be dropped instead of queued.
.. _ref_param_thread_stats_rate:
thread_stats_rate
thread_stats_rate
~~~~~~~~~~~~~~~~~
- Units: requests
- Units: requests
- Default: 10
- Default: 10
- Flags: experimental
- Flags: experimental
...
@@ -585,14 +799,20 @@ thread_stats_rate
...
@@ -585,14 +799,20 @@ thread_stats_rate
Worker threads accumulate statistics, and dump these into the global stats counters if the lock is free when they finish a request.
Worker threads accumulate statistics, and dump these into the global stats counters if the lock is free when they finish a request.
This parameters defines the maximum number of requests a worker thread may handle, before it is forced to dump its accumulated stats into the global counters.
This parameters defines the maximum number of requests a worker thread may handle, before it is forced to dump its accumulated stats into the global counters.
.. _ref_param_timeout_idle:
timeout_idle
timeout_idle
~~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 5
- Default: 5
Idle timeout for client connections.
Idle timeout for client connections.
A connection is considered idle, until we receive a non-white-space character on it.
A connection is considered idle, until we receive a non-white-space character on it.
.. _ref_param_timeout_linger:
timeout_linger
timeout_linger
~~~~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 0.050
- Default: 0.050
- Flags: experimental
- Flags: experimental
...
@@ -601,48 +821,72 @@ timeout_linger
...
@@ -601,48 +821,72 @@ timeout_linger
When sessions are reused, as much as half of all reuses happen within the first 100 msec of the previous request completing.
When sessions are reused, as much as half of all reuses happen within the first 100 msec of the previous request completing.
Setting this too high results in worker threads not doing anything for their keep, setting it too low just means that more sessions take a detour around the waiter.
Setting this too high results in worker threads not doing anything for their keep, setting it too low just means that more sessions take a detour around the waiter.
.. _ref_param_timeout_req:
timeout_req
timeout_req
~~~~~~~~~~~
- Units: seconds
- Units: seconds
- Default: 2
- Default: 2
Max time to receive clients request header, measured from first non-white-space character to double CRNL.
Max time to receive clients request header, measured from first non-white-space character to double CRNL.
.. _ref_param_user:
user
user
~~~~
- Default: nobody
- Default: nobody
- Flags: must_restart
- Flags: must_restart
The unprivileged user to run as.
The unprivileged user to run as.
.. _ref_param_vcc_allow_inline_c:
vcc_allow_inline_c
vcc_allow_inline_c
~~~~~~~~~~~~~~~~~~
- Units: bool
- Units: bool
- Default: on
- Default: off
Allow inline C code in VCL.
Allow inline C code in VCL.
.. _ref_param_vcc_err_unref:
vcc_err_unref
vcc_err_unref
~~~~~~~~~~~~~
- Units: bool
- Units: bool
- Default: on
- Default: on
Unreferenced VCL objects result in error.
Unreferenced VCL objects result in error.
.. _ref_param_vcc_unsafe_path:
vcc_unsafe_path
vcc_unsafe_path
~~~~~~~~~~~~~~~
- Units: bool
- Units: bool
- Default: on
- Default: on
Allow '/' in vmod & include paths.
Allow '/' in vmod & include paths.
Allow 'import ... from ...'.
Allow 'import ... from ...'.
.. _ref_param_vcl_dir:
vcl_dir
vcl_dir
- Default: /tmp/z/v/etc/varnish
~~~~~~~
- Default: /opt/varnish/etc/varnish
Directory from which relative VCL filenames (vcl.load and include) are opened.
Directory from which relative VCL filenames (vcl.load and include) are opened.
.. _ref_param_vmod_dir:
vmod_dir
vmod_dir
- Default: /tmp/z/v/lib/varnish/vmods
~~~~~~~~
- Default: /opt/varnish/lib/varnish/vmods
Directory where VCL modules are to be found.
Directory where VCL modules are to be found.
.. _ref_param_vsl_buffer:
vsl_buffer
vsl_buffer
~~~~~~~~~~
- Units: bytes
- Units: bytes
- Default: 4k
- Default: 4k
...
@@ -651,48 +895,70 @@ vsl_buffer
...
@@ -651,48 +895,70 @@ vsl_buffer
Setting this too high costs memory, setting it too low will cause more VSL flushes and likely increase lock-contention on the VSL mutex.
Setting this too high costs memory, setting it too low will cause more VSL flushes and likely increase lock-contention on the VSL mutex.
Minimum is 1k bytes.
Minimum is 1k bytes.
.. _ref_param_vsl_mask:
vsl_mask
vsl_mask
~~~~~~~~
- Default: default
- Default: default
Mask individual VSL messages from being logged.
Mask individual VSL messages from being logged.
default Set default value
default Set default value
Use +/- prefixe in front of VSL tag name, to mask/unmask individual VSL messages.
Use +/- prefixe in front of VSL tag name, to mask/unmask individual VSL messages.
.. _ref_param_vsl_space:
vsl_space
vsl_space
~~~~~~~~~
- Units: bytes
- Units: bytes
- Default: 80M
- Default: 80M
- Flags: must_restart
- Flags: must_restart
The amount of space to allocate for the VSL fifo buffer in the VSM memory segment. If you make this too small, varnish{ncsa|log} etc will not be able to keep up. Making it too large just costs memory resources.
The amount of space to allocate for the VSL fifo buffer in the VSM memory segment. If you make this too small, varnish{ncsa|log} etc will not be able to keep up. Making it too large just costs memory resources.
.. _ref_param_vsm_space:
vsm_space
vsm_space
~~~~~~~~~
- Units: bytes
- Units: bytes
- Default: 1M
- Default: 1M
- Flags: must_restart
- Flags: must_restart
The amount of space to allocate for stats counters in the VSM memory segment. If you make this too small, some counters will be invisible. Making it too large just costs memory resources.
The amount of space to allocate for stats counters in the VSM memory segment. If you make this too small, some counters will be invisible. Making it too large just costs memory resources.
.. _ref_param_waiter:
waiter
waiter
~~~~~~
- Default: platform dependent
- Default: platform dependent
- Flags: must_restart, wizard
- Flags: must_restart, wizard
Select the waiter kernel interface.
Select the waiter kernel interface.
.. _ref_param_workspace_backend:
workspace_backend
workspace_backend
~~~~~~~~~~~~~~~~~
- Units: bytes
- Units: bytes
- Default: 64k
- Default: 64k
- Flags: delayed
- Flags: delayed
Bytes of HTTP protocol workspace for backend HTTP req/resp. If larger than 4k, use a multiple of 4k for VM efficiency.
Bytes of HTTP protocol workspace for backend HTTP req/resp. If larger than 4k, use a multiple of 4k for VM efficiency.
.. _ref_param_workspace_client:
workspace_client
workspace_client
~~~~~~~~~~~~~~~~
- Units: bytes
- Units: bytes
- Default: 64k
- Default: 64k
- Flags: delayed
- Flags: delayed
Bytes of HTTP protocol workspace for clients HTTP req/resp. If larger than 4k, use a multiple of 4k for VM efficiency.
Bytes of HTTP protocol workspace for clients HTTP req/resp. If larger than 4k, use a multiple of 4k for VM efficiency.