<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>I have varnish installed on my Linode VPS, I am getting good hit rates, but site still seems to me to be slow loading.  I think I have it setup to use 128M of  memory instead of using a file.  I am sorry if I gave to much information or the wrong information.   Thanks in advance for any help or guidance.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Here is my configuration file:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># Configuration file for varnish<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># /etc/init.d/varnish expects the variables $DAEMON_OPTS, $NFILES and $MEMLOCK<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># to be set from this shell script fragment.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># Should we start varnishd at boot?  Set to "no" to disable.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>START=yes<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># Maximum number of open files (for ulimit -n)<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>NFILES=131072<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># Maximum locked memory size (for ulimit -l)<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># Used for locking the shared memory log in memory.  If you increase log size,<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># you need to increase this number as well<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>MEMLOCK=82000<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># Default varnish instance name is the local nodename.  Can be overridden with<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># the -n switch, to have more instances on a single server.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># INSTANCE=$(uname -n)<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># This file contains 4 alternatives, please use only one.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>## Alternative 1, Minimal configuration, no VCL<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># Listen on port 6081, administration on localhost:6082, and forward to<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># content server on localhost:8080.  Use a 1GB fixed-size cache file.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># DAEMON_OPTS="-a :6081 \<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#              -T localhost:6082 \<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#           -b localhost:8080 \<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#           -u varnish -g varnish \<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#            -S /etc/varnish/secret \<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#           -s file,/var/lib/varnish/$INSTANCE/varnish_storage.bin,1G"<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>## Alternative 2, Configuration with VCL<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># Listen on port 6081, administration on localhost:6082, and forward to<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># one content server selected by the vcl file, based on the request.  Use a 1GB<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># fixed-size cache file.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>DAEMON_OPTS="-a :80 \<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>             -T localhost:6082 \<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>             -f /etc/varnish/default.vcl \<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>             -S /etc/varnish/secret \<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>              -s malloc,128M"<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#             -s file,/var/lib/varnish/$INSTANCE/varnish_storage.bin,128M"<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>## Alternative 3, Advanced configuration<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># See varnishd(1) for more information.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># # Main configuration file. You probably want to change it :)<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># VARNISH_VCL_CONF=/etc/varnish/default.vcl<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># # Default address and port to bind to<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># # Blank address means all IPv4 and IPv6 interfaces, otherwise specify<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># # a host name, an IPv4 dotted quad, or an IPv6 address in brackets.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># VARNISH_LISTEN_ADDRESS=<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># VARNISH_LISTEN_PORT=6081<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># # Telnet admin interface listen address and port<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># VARNISH_ADMIN_LISTEN_ADDRESS=127.0.0.1<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># VARNISH_ADMIN_LISTEN_PORT=6082<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># # The minimum number of worker threads to start<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># VARNISH_MIN_THREADS=1<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># # The Maximum number of worker threads to start<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># VARNISH_MAX_THREADS=1000<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># # Idle timeout for worker threads<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># VARNISH_THREAD_TIMEOUT=120<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># # Cache file location<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># VARNISH_STORAGE_FILE=/var/lib/varnish/$INSTANCE/varnish_storage.bin<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># # Cache file size: in bytes, optionally using k / M / G / T suffix,<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># # or in percentage of available disk space using the % suffix.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># VARNISH_STORAGE_SIZE=1G<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># # File containing administration secret<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># VARNISH_SECRET_FILE=/etc/varnish/secret<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># # Backend storage specification<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}"<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># # Default TTL used when the backend does not specify one<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># VARNISH_TTL=120<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># # DAEMON_OPTS is used by the init script.  If you add or remove options, make<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># # sure you update this section, too.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># DAEMON_OPTS="-a ${VARNISH_LISTEN_ADDRESS}:${VARNISH_LISTEN_PORT} \<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#              -f ${VARNISH_VCL_CONF} \<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#              -T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT} \<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#              -t ${VARNISH_TTL} \<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#              -w ${VARNISH_MIN_THREADS},${VARNISH_MAX_THREADS},${VARNISH_THREAD_TIMEOUT} \<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#             -S ${VARNISH_SECRET_FILE} \<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#              -s ${VARNISH_STORAGE}"<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>## Alternative 4, Do It Yourself<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># DAEMON_OPTS=""<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>here is my default vcl<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># This is a basic VCL configuration file for varnish.  See the vcl(7)<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># man page for details on VCL syntax and semantics.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># TODO: Update internal subnet ACL and security.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># Define the internal network subnet.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># These are used below to allow internal access to certain files while not<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># allowing access from the public internet.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># acl internal {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#  "192.10.0.0"/24;<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># }<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># Default backend definition.  Set this to point to your content<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># server.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>backend default {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  .host = "127.0.0.1";<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  .port = "8080";<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>}<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># Respond to incoming requests.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>sub vcl_recv {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # Use anonymous, cached pages if all backends are down.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  if (!req.backend.healthy) {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    unset req.http.Cookie;<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  }<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>   <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # Allow the backend to serve up stale content if it is responding slowly.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  set req.grace = 6h;<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # Pipe these paths directly to Apache for streaming.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  #if (req.url ~ "^/admin/content/backup_migrate/export") {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  #  return (pipe);<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  #}<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # Do not cache these paths.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  if (req.url ~ "^/status\.php$" ||<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      req.url ~ "^/update\.php$" ||<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      req.url ~ "^/admin$" ||<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      req.url ~ "^/admin/.*$" ||<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      req.url ~ "^/flag/.*$" ||<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      req.url ~ "^.*/munin/.*$" ||<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      req.url ~ "^.*/ajax/.*$" ||<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      req.url ~ "^.*/api/.*$" ||<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      req.url ~ "^.*/apidev/.*$" ||<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      req.url ~ "^.*/serviioweb/.*$" ||<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      req.url ~ "^.*/mediabrowser/.*$" ||<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      req.url ~ "^.*/phpmyadmin/.*$" ||<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      req.url ~ "^.*/ahah/.*$") {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>       return (pass);<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  }<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # Do not allow outside access to cron.php or install.php.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  #if (req.url ~ "^/(cron|install)\.php$" && !client.ip ~ internal) {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    # Have Varnish throw the error directly.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  #  error 404 "Page not found.";<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    # Use a custom error page that you've defined in Drupal at the path "404".<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    # set req.url = "/404";<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  #}<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # Always cache the following file types for all users. This list of extensions<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # appears twice, once here and again in vcl_fetch so make sure you edit both<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # and keep them equal.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  if (req.url ~ "(?i)\.(pdf|asc|dat|txt|doc|xls|ppt|tgz|csv|png|gif|jpeg|jpg|ico|swf|css|js)(\?.*)?$") {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    unset req.http.Cookie;<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  }<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # Remove all cookies that Drupal doesn't need to know about. We explicitly <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # list the ones that Drupal does need, the SESS and NO_CACHE. If, after <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # running this code we find that either of these two cookies remains, we <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # will pass as the page cannot be cached.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  if (req.http.Cookie) {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    # 1. Append a semi-colon to the front of the cookie string.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    # 2. Remove all spaces that appear after semi-colons.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    # 3. Match the cookies we want to keep, adding the space we removed <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    #    previously back. (\1) is first matching group in the regsuball.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    # 4. Remove all other cookies, identifying them by the fact that they have<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    #    no space after the preceding semi-colon.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    # 5. Remove all spaces and semi-colons from the beginning and end of the <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    #    cookie string. <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    set req.http.Cookie = ";" + req.http.Cookie;<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    set req.http.Cookie = regsuball(req.http.Cookie, "; +", ";");    <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    set req.http.Cookie = regsuball(req.http.Cookie, ";(SESS[a-z0-9]+|NO_CACHE)=", "; \1=");<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    set req.http.Cookie = regsuball(req.http.Cookie, ";[^ ][^;]*", "");<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    set req.http.Cookie = regsuball(req.http.Cookie, "^[; ]+|[; ]+$", "");<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    if (req.http.Cookie == "") {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      # If there are no remaining cookies, remove the cookie header. If there<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      # aren't any cookie headers, Varnish's default behavior will be to cache<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      # the page.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      unset req.http.Cookie;<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    }<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    else {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      # If there is any cookies left (a session or NO_CACHE cookie), do not<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      # cache the page. Pass it on to Apache directly.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>      return (pass);<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    }<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  }<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>}<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># Set a header to track a cache HIT/MISS.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>sub vcl_deliver {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  if (obj.hits > 0) {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    set resp.http.X-Varnish-Cache = "HIT";<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  }<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  else {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    set resp.http.X-Varnish-Cache = "MISS";<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  }<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>}<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># Code determining what to do when serving items from the Apache servers.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># beresp == Back-end response from the web server.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>sub vcl_fetch {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # We need this to cache 404s, 301s, 500s. Otherwise, depending on backend but <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # definitely in Drupal's case these responses are not cacheable by default.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  if (beresp.status == 404 || beresp.status == 301 || beresp.status == 500) {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    set beresp.ttl = 10m;<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  }<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    if(beresp.status == 302 && !beresp.http.Location){<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    set beresp.status = 200;<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    set beresp.response = "OK";<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  }<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # Don't allow static files to set cookies. <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # (?i) denotes case insensitive in PCRE (perl compatible regular expressions).<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # This list of extensions appears twice, once here and again in vcl_recv so <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # make sure you edit both and keep them equal.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  if (req.url ~ "(?i)\.(pdf|asc|dat|txt|doc|xls|ppt|tgz|csv|png|gif|jpeg|jpg|ico|swf|css|js)(\?.*)?$") {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    unset beresp.http.set-cookie;<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  }<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # Allow items to be stale if needed.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  set beresp.grace = 6h;<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>}<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># In the event of an error, show friendlier messages.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>sub vcl_error {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # Redirect to some other URL in the case of a homepage failure.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  #if (req.url ~ "^/?$") {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  #  set obj.status = 302;<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  #  set obj.http.Location = "http://backup.example.com/";<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  #}<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  # Otherwise redirect to the homepage, which will likely be in the cache.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  set obj.http.Content-Type = "text/html; charset=utf-8";<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  synthetic {"<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><html><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><head><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  <title>Page Unavailable</title><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  <style><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    body { background: #303030; text-align: center; color: white; }<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    #page { border: 1px solid #CCC; width: 500px; margin: 100px auto 0; padding: 30px; background: #323232; }<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    a, a:link, a:visited { color: #CCC; }<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    .error { color: #222; }<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  </style><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'></head><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><body onload="setTimeout(function() { window.location = '/' }, 5000)"><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  <div id="page"><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    <h1 class="title">Page Unavailable</h1><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    <p>The page you requested is temporarily unavailable.</p><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    <p>We're redirecting you to the <a href="/">homepage</a> in 5 seconds.</p><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>    <div class="error">(Error "} + obj.status + " " + obj.response + {")</div><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  </div><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'></body><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'></html><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>"};<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>  return (deliver);<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>}<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># Below is a commented-out copy of the default VCL logic.  If you<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># redefine any of these subroutines, the built-in logic will be<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># appended to your code.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'># sub vcl_recv {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#     if (req.restarts == 0) {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>#   if (req.http.x-forwarded-for) {<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Here is a copy of the waterfall chart from webpagetest<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><img width=930 height=1451 id="Picture_x0020_1" src="cid:image001.png@01CD9CE4.BA066430"><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Here is the results from varnishstat -1<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>client_conn               7179         0.42 Client connections accepted<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>client_drop                  0         0.00 Connection dropped, no sess/wrk<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>client_req                7674         0.45 Client requests received<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>cache_hit                 5474         0.32 Cache hits<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>cache_hitpass                1         0.00 Cache hits for pass<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>cache_miss                1682         0.10 Cache misses<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>backend_conn              1150         0.07 Backend conn. success<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>backend_unhealthy            0         0.00 Backend conn. not attempted<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>backend_busy                 0         0.00 Backend conn. too many<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>backend_fail                 0         0.00 Backend conn. failures<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>backend_reuse             1049         0.06 Backend conn. reuses<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>backend_toolate            922         0.05 Backend conn. was closed<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>backend_recycle           1973         0.12 Backend conn. recycles<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>backend_retry                0         0.00 Backend conn. retry<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>fetch_head                   0         0.00 Fetch head<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>fetch_length              1880         0.11 Fetch with Length<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>fetch_chunked               85         0.00 Fetch chunked<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>fetch_eof                    0         0.00 Fetch EOF<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>fetch_bad                    0         0.00 Fetch had bad headers<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>fetch_close                227         0.01 Fetch wanted close<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>fetch_oldhttp                0         0.00 Fetch pre HTTP/1.1 closed<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>fetch_zero                   0         0.00 Fetch zero len<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>fetch_failed                 0         0.00 Fetch failed<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>fetch_1xx                    0         0.00 Fetch no body (1xx)<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>fetch_204                    0         0.00 Fetch no body (204)<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>fetch_304                    8         0.00 Fetch no body (304)<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_sess_mem                  26          .   N struct sess_mem<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_sess                       1          .   N struct sess<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_object                  1682          .   N struct object<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_vampireobject              0          .   N unresurrected objects<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_objectcore              1691          .   N struct objectcore<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_objecthead              1445          .   N struct objecthead<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_waitinglist               10          .   N struct waitinglist<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_vbc                        1          .   N struct vbc<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_wrk                       10          .   N worker threads<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_wrk_create                10         0.00 N worker threads created<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_wrk_failed                 0         0.00 N worker threads not created<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_wrk_max                    0         0.00 N worker threads limited<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_wrk_lqueue                 0         0.00 work request queue length<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_wrk_queued                 0         0.00 N queued work requests<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_wrk_drop                   0         0.00 N dropped work requests<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_backend                    1          .   N backends<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_expired                    0          .   N expired objects<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_lru_nuked                  0          .   N LRU nuked objects<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_lru_moved               5090          .   N LRU moved objects<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>losthdr                      0         0.00 HTTP header overflows<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_objsendfile                0         0.00 Objects sent with sendfile<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_objwrite                7411         0.43 Objects sent with write<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_objoverflow                0         0.00 Objects overflowing workspace<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>s_sess                    7179         0.42 Total Sessions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>s_req                     7674         0.45 Total Requests<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>s_pipe                       0         0.00 Total pipe<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>s_pass                     518         0.03 Total pass<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>s_fetch                   2200         0.13 Total fetch<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>s_hdrbytes             4394386       257.09 Total header bytes<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>s_bodybytes          369487008     21616.28 Total body bytes<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>sess_closed                602         0.04 Session Closed<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>sess_pipeline                0         0.00 Session Pipeline<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>sess_readahead               0         0.00 Session Read Ahead<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>sess_linger               7117         0.42 Session Linger<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>sess_herd                 7562         0.44 Session herd<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>shm_records             488273        28.57 SHM records<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>shm_writes               53496         3.13 SHM writes<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>shm_flushes                  0         0.00 SHM flushes due to overflow<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>shm_cont                    19         0.00 SHM MTX contention<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>shm_cycles                   0         0.00 SHM cycles through buffer<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>sms_nreq                     0         0.00 SMS allocator requests<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>sms_nobj                     0          .   SMS outstanding allocations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>sms_nbytes                   0          .   SMS outstanding bytes<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>sms_balloc                   0          .   SMS bytes allocated<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>sms_bfree                    0          .   SMS bytes freed<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>backend_req               2200         0.13 Backend requests made<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_vcl                        1         0.00 N vcl total<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_vcl_avail                  1         0.00 N vcl available<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_vcl_discard                0         0.00 N vcl discarded<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_ban                        1          .   N total active bans<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_ban_gone                   1          .   N total gone bans<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_ban_add                    1         0.00 N new bans added<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_ban_retire                 0         0.00 N old bans deleted<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_ban_obj_test               0         0.00 N objects tested<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_ban_re_test                0         0.00 N regexps tested against<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_ban_dups                   0         0.00 N duplicate bans removed<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>hcb_nolock                7155         0.42 HCB Lookups without lock<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>hcb_lock                  1436         0.08 HCB Lookups with lock<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>hcb_insert                1436         0.08 HCB Inserts<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>esi_errors                   0         0.00 ESI parse errors (unlock)<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>esi_warnings                 0         0.00 ESI parse warnings (unlock)<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>accept_fail                  0         0.00 Accept failures<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>client_drop_late             0         0.00 Connection dropped late<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>uptime                   17093         1.00 Client uptime<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>dir_dns_lookups              0         0.00 DNS director lookups<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>dir_dns_failed               0         0.00 DNS director failed lookups<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>dir_dns_hit                  0         0.00 DNS director cached lookups hit<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>dir_dns_cache_full           0         0.00 DNS director full dnscache<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>vmods                        0          .   Loaded VMODs<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_gzip                       0         0.00 Gzip operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>n_gunzip                  6757         0.40 Gunzip operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.sms.creat                1         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.sms.destroy              0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.sms.locks                0         0.00 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.sms.colls                0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.smp.creat                0         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.smp.destroy              0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.smp.locks                0         0.00 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.smp.colls                0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.sma.creat                2         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.sma.destroy              0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.sma.locks             7470         0.44 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.sma.colls                0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.smf.creat                0         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.smf.destroy              0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.smf.locks                0         0.00 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.smf.colls                0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.hsl.creat                0         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.hsl.destroy              0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.hsl.locks                0         0.00 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.hsl.colls                0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.hcb.creat                1         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.hcb.destroy              0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.hcb.locks             1531         0.09 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.hcb.colls                0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.hcl.creat                0         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.hcl.destroy              0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.hcl.locks                0         0.00 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.hcl.colls                0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.vcl.creat                1         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.vcl.destroy              0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.vcl.locks               12         0.00 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.vcl.colls                0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.stat.creat               1         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.stat.destroy             0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.stat.locks            7204         0.42 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.stat.colls               0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.sessmem.creat            1         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.sessmem.destroy            0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.sessmem.locks           7547         0.44 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.sessmem.colls              0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.wstat.creat                1         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.wstat.destroy              0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.wstat.locks            34286         2.01 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.wstat.colls                0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.herder.creat               1         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.herder.destroy             0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.herder.locks               1         0.00 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.herder.colls               0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.wq.creat                   2         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.wq.destroy                 0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.wq.locks               50522         2.96 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.wq.colls                   0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.objhdr.creat            1445         0.08 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.objhdr.destroy             0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.objhdr.locks           28872         1.69 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.objhdr.colls               0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.exp.creat                  1         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.exp.destroy                0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.exp.locks              18773         1.10 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.exp.colls                  0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.lru.creat                  2         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.lru.destroy                0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.lru.locks               1682         0.10 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.lru.colls                  0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.cli.creat                  1         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.cli.destroy                0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.cli.locks               5707         0.33 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.cli.colls                  0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.ban.creat                  1         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.ban.destroy                0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.ban.locks              18775         1.10 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.ban.colls                  0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.vbp.creat                  1         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.vbp.destroy                0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.vbp.locks                  0         0.00 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.vbp.colls                  0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.vbe.creat                  1         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.vbe.destroy                0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.vbe.locks               2299         0.13 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.vbe.colls                  0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.backend.creat              1         0.00 Created locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.backend.destroy            0         0.00 Destroyed locks<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.backend.locks           7394         0.43 Lock Operations<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>LCK.backend.colls              0         0.00 Collisions<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>SMA.s0.c_req                3364         0.20 Allocator requests<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>SMA.s0.c_fail                  0         0.00 Allocator failures<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>SMA.s0.c_bytes         215415613     12602.56 Bytes allocated<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>SMA.s0.c_freed         204713824     11976.47 Bytes freed<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>SMA.s0.g_alloc              3233          .   Allocations outstanding<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>SMA.s0.g_bytes          10701789          .   Bytes outstanding<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>SMA.s0.g_space         123515939          .   Bytes available<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>SMA.Transient.c_req         1028         0.06 Allocator requests<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>SMA.Transient.c_fail           0         0.00 Allocator failures<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>SMA.Transient.c_bytes     42146510      2465.72 Bytes allocated<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>SMA.Transient.c_freed     42146510      2465.72 Bytes freed<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>SMA.Transient.g_alloc            0          .   Allocations outstanding<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>SMA.Transient.g_bytes            0          .   Bytes outstanding<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>SMA.Transient.g_space            0          .   Bytes available<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>VBE.default(127.0.0.1,,8080).vcls            1          .   VCL references<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'>VBE.default(127.0.0.1,,8080).happy           0          .   Happy health probes<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>