<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:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:D="DAV:" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" 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 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 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;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
{page:Section1;}
-->
</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=Section1>
<p class=MsoNormal>I’m running Varnish 1.1.1 on Centos 5 x86_64. varnishd
has been running for about 20 days, but now the machine is using about 100% of
the CPU, and most of it is in iowait because 100% of the swap is being used by
varnishd (this is happening on about 8 different cache servers). <o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Is this a known issue? Or am I doing something wrong (with
the command line arguments or whatnot)?<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Here is the relevant information:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Command line arguments:<o:p></o:p></p>
<p class=MsoNormal>/usr/sbin/varnishd -a :80 -f /etc/varnish/photo.vcl -T
127.0.0.1:6082 -t 120 -w 10,1000,120 -s file,/c01/varnish/varnish_storage.bin ,40%
-u varnish -g varnish -P /var/run/varnish.pid<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>df of /c01:<o:p></o:p></p>
<p class=MsoNormal>/dev/sdb1
460G 102G 334G 24% /c01 (it’s a raid 10 array of 14
73gb disks)<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>uname –a:<o:p></o:p></p>
<p class=MsoNormal>Linux <hostname> 2.6.18-8.1.8.el5 #1 SMP Tue Jul 10
06:39:17 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Output of vanishstat -1:<o:p></o:p></p>
<p class=MsoNormal>client_conn
30637407 17.88 Client connections
accepted<o:p></o:p></p>
<p class=MsoNormal>client_req 69880298
40.78 Client requests received<o:p></o:p></p>
<p class=MsoNormal>cache_hit
65771178 38.38 Cache hits<o:p></o:p></p>
<p class=MsoNormal>cache_hitpass
82 0.00 Cache hits for pass<o:p></o:p></p>
<p class=MsoNormal>cache_miss
4107980 2.40 Cache misses<o:p></o:p></p>
<p class=MsoNormal>backend_conn
4108677 2.40 Backend
connections success<o:p></o:p></p>
<p class=MsoNormal>backend_fail
0 0.00 Backend connections
failures<o:p></o:p></p>
<p class=MsoNormal>backend_reuse
3771264 2.20 Backend
connections reuses<o:p></o:p></p>
<p class=MsoNormal>backend_recycle
3920436 2.29 Backend
connections recycles<o:p></o:p></p>
<p class=MsoNormal>backend_unused
16 0.00 Backend connections
unused<o:p></o:p></p>
<p class=MsoNormal>n_srcaddr
1471 . N
struct srcaddr<o:p></o:p></p>
<p class=MsoNormal>n_srcaddr_act
99 . N active
struct srcaddr<o:p></o:p></p>
<p class=MsoNormal>n_sess_mem
361 . N
struct sess_mem<o:p></o:p></p>
<p class=MsoNormal>n_sess
129 . N
struct sess<o:p></o:p></p>
<p class=MsoNormal>n_object
4171343 . N
struct object<o:p></o:p></p>
<p class=MsoNormal>n_objecthead
4171347 . N
struct objecthead<o:p></o:p></p>
<p class=MsoNormal>n_smf
4107787 . N
struct smf<o:p></o:p></p>
<p class=MsoNormal>n_smf_frag 0
. N small free smf<o:p></o:p></p>
<p class=MsoNormal>n_smf_large
1 . N large
free smf<o:p></o:p></p>
<p class=MsoNormal>n_vbe_conn
145 . N
struct vbe_conn<o:p></o:p></p>
<p class=MsoNormal>n_wrk
56 . N worker
threads<o:p></o:p></p>
<p class=MsoNormal>n_wrk_create
70814 0.04 N worker threads
created<o:p></o:p></p>
<p class=MsoNormal>n_wrk_failed
0 0.00 N worker threads not
created<o:p></o:p></p>
<p class=MsoNormal>n_wrk_max
0 0.00 N worker threads limited<o:p></o:p></p>
<p class=MsoNormal>n_wrk_queue
0 0.00 N queued work requests<o:p></o:p></p>
<p class=MsoNormal>n_wrk_overflow 70814
0.04 N overflowed work requests<o:p></o:p></p>
<p class=MsoNormal>n_wrk_drop
0 0.00 N dropped work requests<o:p></o:p></p>
<p class=MsoNormal>n_expired
195 . N
expired objects<o:p></o:p></p>
<p class=MsoNormal>n_deathrow
0 . N objects
on deathrow<o:p></o:p></p>
<p class=MsoNormal>losthdr 0
0.00 HTTP header overflows<o:p></o:p></p>
<p class=MsoNormal>n_objsendfile
0 0.00 Objects sent with
sendfile<o:p></o:p></p>
<p class=MsoNormal>n_objwrite
69142017 40.35 Objects sent with
write<o:p></o:p></p>
<p class=MsoNormal>s_sess
30637382 17.88 Total Sessions<o:p></o:p></p>
<p class=MsoNormal>s_req
69880318 40.78 Total Requests<o:p></o:p></p>
<p class=MsoNormal>s_pipe
41 0.00 Total pipe<o:p></o:p></p>
<p class=MsoNormal>s_pass
0 0.00 Total pass<o:p></o:p></p>
<p class=MsoNormal>s_fetch
4108636 2.40 Total fetch<o:p></o:p></p>
<p class=MsoNormal>s_hdrbytes
23065938774 13461.07 Total header bytes<o:p></o:p></p>
<p class=MsoNormal>s_bodybytes
1500010438157 875392.50 Total body bytes<o:p></o:p></p>
<p class=MsoNormal>sess_closed
2794850 1.63 Session Closed<o:p></o:p></p>
<p class=MsoNormal>sess_pipeline
85042 0.05 Session Pipeline<o:p></o:p></p>
<p class=MsoNormal>sess_readahead 0
0.00 Session Read Ahead<o:p></o:p></p>
<p class=MsoNormal>sess_herd
67587880 39.44 Session herd<o:p></o:p></p>
<p class=MsoNormal>shm_records
3193762280 1863.85 SHM records<o:p></o:p></p>
<p class=MsoNormal>shm_writes
401219061 234.15 SHM writes<o:p></o:p></p>
<p class=MsoNormal>shm_cont
97272 0.06 SHM MTX contention<o:p></o:p></p>
<p class=MsoNormal>sm_nreq
4109108 2.40 allocator requests<o:p></o:p></p>
<p class=MsoNormal>sm_nobj
4107786 .
outstanding allocations<o:p></o:p></p>
<p class=MsoNormal>sm_balloc
51938721792 .
bytes allocated<o:p></o:p></p>
<p class=MsoNormal>sm_bfree
57256402944 .
bytes free<o:p></o:p></p>
<p class=MsoNormal>backend_req
4108636 2.40 Backend requests
made<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>VCL Code:<o:p></o:p></p>
<p class=MsoNormal>backend default {<o:p></o:p></p>
<p class=MsoNormal> set backend.host
= "127.0.0.1";<o:p></o:p></p>
<p class=MsoNormal> set backend.port
= "81";<o:p></o:p></p>
<p class=MsoNormal>}<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>sub vcl_recv {<o:p></o:p></p>
<p class=MsoNormal> if (req.request
== "GET" && req.http.cookie) {<o:p></o:p></p>
<p class=MsoNormal>
lookup;<o:p></o:p></p>
<p class=MsoNormal> }<o:p></o:p></p>
<p class=MsoNormal>}<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>sub vcl_fetch {<o:p></o:p></p>
<p class=MsoNormal> if (obj.ttl <
3600s) {<o:p></o:p></p>
<p class=MsoNormal>
set obj.ttl = 3600s;<o:p></o:p></p>
<p class=MsoNormal> }<o:p></o:p></p>
<p class=MsoNormal>}<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>sub vcl_miss {<o:p></o:p></p>
<p class=MsoNormal> if (req.url ~
"^/g/([a-f0-9])([a-f0-9])([a-f0-9]{30})\.([a-z0-9]{3,4})$") {<o:p></o:p></p>
<p class=MsoNormal>
set bereq.url = regsub(req.url,
"^/g/([a-f0-9])([a-f0-9])([a-f0-9]{30})\.([a-z0-9]{3,4})$",
"/$1/$2/$1$2$3.$4");<o:p></o:p></p>
<p class=MsoNormal>
fetch;<o:p></o:p></p>
<p class=MsoNormal> }<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> if (req.url ~
"^/g/([a-f0-9])([a-f0-9])([a-f0-9]{30})$") {<o:p></o:p></p>
<p class=MsoNormal>
set bereq.url = regsub(req.url,
"^/g/([a-f0-9])([a-f0-9])([a-f0-9]{30})$",
"/$1/$2/$1$2$3");<o:p></o:p></p>
<p class=MsoNormal>
fetch;<o:p></o:p></p>
<p class=MsoNormal> }<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> if (req.url ~
"^/g/i/([a-f0-9])([a-f0-9])([a-f0-9]{30})\.([a-z0-9]{3,4})$") {<o:p></o:p></p>
<p class=MsoNormal>
set bereq.url = regsub(req.url,
"^/g/i/([a-f0-9])([a-f0-9])([a-f0-9]{30})\.([a-z0-9]{3,4})$",
"/fullsize/$1/$2/$1$2$3.$4");<o:p></o:p></p>
<p class=MsoNormal>
fetch;<o:p></o:p></p>
<p class=MsoNormal> }<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> if (req.url ~
"^/g/i/([a-f0-9])([a-f0-9])([a-f0-9]{30})$") {<o:p></o:p></p>
<p class=MsoNormal>
set bereq.url = regsub(req.url,
"^/g/i/([a-f0-9])([a-f0-9])([a-f0-9]{30})$",
"/fullsize/$1/$2/$1$2$3");<o:p></o:p></p>
<p class=MsoNormal>
fetch;<o:p></o:p></p>
<p class=MsoNormal> }<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> if (req.url ~
"^/g/v/([a-f0-9])([a-f0-9])([a-f0-9]{30})\.jpg$") {<o:p></o:p></p>
<p class=MsoNormal>
set bereq.url = regsub(req.url,
"^/g/v/([a-f0-9])([a-f0-9])([a-f0-9]{30})\.jpg$",
"/video/$1/$2/$1$2$3/thumb_hi.jpg");<o:p></o:p></p>
<p class=MsoNormal>
fetch;<o:p></o:p></p>
<p class=MsoNormal> }<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> if (req.url ~
"^/g/v/([a-f0-9])([a-f0-9])([a-f0-9]{30})_([0-9]{5})\.jpg$") {<o:p></o:p></p>
<p class=MsoNormal>
set bereq.url = regsub(req.url,
"^/g/v/([a-f0-9])([a-f0-9])([a-f0-9]{30})_([0-9]{5})\.jpg$",
"/video/$1/$2/$1$2$3/frames/frame$4.jpg");<o:p></o:p></p>
<p class=MsoNormal>
fetch;<o:p></o:p></p>
<p class=MsoNormal> }<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> set bereq.url =
"/404.html";<o:p></o:p></p>
<p class=MsoNormal> fetch;<o:p></o:p></p>
<p class=MsoNormal>}<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Thanks,<o:p></o:p></p>
<p class=MsoNormal>Andy<o:p></o:p></p>
</div>
</body>
</html>