[3.0] a75a58d Clarify storage backend usage Some more text describing the behaviour on the various storage backend + some reformatting for readability
Tollef Fog Heen
tfheen at varnish-cache.org
Mon Apr 22 13:27:00 CEST 2013
commit a75a58d39550df4368679fc5463bfdcb03c2b0a8
Author: Per Buer <perbu at varnish-software.com>
Date: Mon Aug 27 10:41:19 2012 +0200
Clarify storage backend usage
Some more text describing the behaviour on the various storage backend
+ some reformatting for readability
diff --git a/doc/sphinx/reference/varnishd.rst b/doc/sphinx/reference/varnishd.rst
index 351c7b3..c4baf6e 100644
--- a/doc/sphinx/reference/varnishd.rst
+++ b/doc/sphinx/reference/varnishd.rst
@@ -161,10 +161,16 @@ Storage Types
The following storage types are available:
malloc[,size]
- Storage for each object is allocated with malloc(3).
- The size parameter specifies the maximum amount of memory varnishd will allocate. The size is assumed to
- be in bytes, unless followed by one of the following suffixes:
+ Malloc is a memory based backend. Each object will be allocated
+ from memory. If your system runs low on memory swap will be
+ used. Be aware that the size limitation only limits the actual
+ storage and that approximately 1k of memory per object will be
+ used for various internal structures.
+
+ The size parameter specifies the maximum amount of memory
+ varnishd will allocate. The size is assumed to be in bytes,
+ unless followed by one of the following suffixes:
K, k The size is expressed in kibibytes.
@@ -174,16 +180,24 @@ malloc[,size]
T, t The size is expressed in tebibytes.
- The default size is unlimited.
+ The default size is unlimited.
+
+ Mallocs performance is bound by memory speed so it is very fast.
file[,path[,size[,granularity]]]
- Storage for each object is allocated from an arena backed by a file. This is the default.
- The path parameter specifies either the path to the backing file or the path to a directory in which
- varnishd will create the backing file. The default is /tmp.
+ The file backend stores objects in memory backed by a file on
+ disk with mmap. This is the default storage backend and unless
+ you specify another storage this one will used along with
+ Transient storage.
- The size parameter specifies the size of the backing file. The size is assumed to be in bytes, unless fol‐
- lowed by one of the following suffixes:
+ The path parameter specifies either the path to the backing file
+ or the path to a directory in which varnishd will create the
+ backing file. The default is /tmp.
+
+ The size parameter specifies the size of the backing file. The
+ size is assumed to be in bytes, unless fol‐ lowed by one of the
+ following suffixes:
K, k The size is expressed in kibibytes.
@@ -193,21 +207,29 @@ file[,path[,size[,granularity]]]
T, t The size is expressed in tebibytes.
- % The size is expressed as a percentage of the free space on the file system where it resides.
+ % The size is expressed as a percentage of the free space on the
+ file system where it resides.
The default size is 50%.
- If the backing file already exists, it will be truncated or expanded to the specified size.
+ If the backing file already exists, it will be truncated or
+ expanded to the specified size.
+
+ Note that if varnishd has to create or expand the file, it will
+ not pre-allocate the added space, leading to fragmentation,
+ which may adversely impact performance. Pre-creating the
+ storage file using dd(1) will reduce fragmentation to a minimum.
- Note that if varnishd has to create or expand the file, it will not pre-allocate the added space, leading
- to fragmentation, which may adversely impact performance. Pre-creating the storage file using dd(1) will
- reduce fragmentation to a minimum.
+ The granularity parameter specifies the granularity of
+ allocation. All allocations are rounded up to this size. The
+ size is assumed to be in bytes, unless followed by one of the
+ suffixes described for size except for %.
- The granularity parameter specifies the granularity of allocation. All allocations are rounded up to this
- size. The size is assumed to be in bytes, unless followed by one of the suffixes described for size except
- for %.
+ The default size is the VM page size. The size should be
+ reduced if you have many small objects.
- The default size is the VM page size. The size should be reduced if you have many small objects.
+ File performance is typically limited by the write speed of the
+ device, and depending on use, the seek time.
persistent,path,size {experimental}
@@ -246,38 +268,47 @@ Transient Storage
Management Interface
--------------------
-If the -T option was specified, varnishd will offer a command-line management interface on the specified address
-and port. The recommended way of connecting to the command-line management interface is through varnishadm(1).
+If the -T option was specified, varnishd will offer a command-line
+management interface on the specified address and port. The
+recommended way of connecting to the command-line management interface
+is through varnishadm(1).
The commands available are documented in varnish(7).
Run-Time Parameters
-------------------
-Runtime parameters are marked with shorthand flags to avoid repeating the same text over and over in the table
-below. The meaning of the flags are:
+Runtime parameters are marked with shorthand flags to avoid repeating
+the same text over and over in the table below. The meaning of the
+flags are:
experimental
- We have no solid information about good/bad/optimal values for this parameter. Feedback with experience
- and observations are most welcome.
+ We have no solid information about good/bad/optimal values for
+ this parameter. Feedback with experience and observations are
+ most welcome.
delayed
- This parameter can be changed on the fly, but will not take effect immediately.
+ This parameter can be changed on the fly, but will not take
+ effect immediately.
restart
- The worker process must be stopped and restarted, before this parameter takes effect.
+ The worker process must be stopped and restarted, before this
+ parameter takes effect.
reload
The VCL programs must be reloaded for this parameter to take effect.
-Here is a list of all parameters, current as of last time we remembered to update the manual page. This text is
-produced from the same text you will find in the CLI if you use the param.show command, so should there be a new
-parameter which is not listed here, you can find the description using the CLI commands.
+Here is a list of all parameters, current as of last time we
+remembered to update the manual page. This text is produced from the
+same text you will find in the CLI if you use the param.show command,
+so should there be a new parameter which is not listed here, you can
+find the description using the CLI commands.
Be aware that on 32 bit systems, certain default values, such as
-workspace_client (=16k), thread_pool_workspace (=16k), http_resp_size (=8k),
-http_req_size (=12k), gzip_stack_buffer (=4k) and thread_pool_stack (=64k) are
-reduced relative to the values listed here, in order to conserve VM space.
+workspace_client (=16k), thread_pool_workspace (=16k), http_resp_size
+(=8k), http_req_size (=12k), gzip_stack_buffer (=4k) and
+thread_pool_stack (=64k) are reduced relative to the values listed
+here, in order to conserve VM space.
.. include:: params.rst
More information about the varnish-commit
mailing list