cache empties itself?
Sascha Ottolski
ottolski at web.de
Thu Apr 3 19:17:53 CEST 2008
Am Donnerstag 03 April 2008 18:07:53 schrieb DHF:
> Sascha Ottolski wrote:
> > how can this be? My varnish runs for about 36 hours now. yesterday
> > evening, the resident memory size was like 10 GB, which is still
> > way below the available 32. later that evening, I stopped letting
> > request to the proxy over night. now I came back, let the request
> > back in, and am wondering that I see a low cacht hit rate. looking
> > a bit closer it appears as if the cache got smaller over night, now
> > the process only consumes less than 1 GB of resident memory, which
> > fits the reported "bytes allocated" in the stats.
> >
> > can I somehow find out why my cached objects were expired? I have a
> > varnishlog -w running all the time, the the information might
> > there. but, what to look for, and even more important, how can I
> > prevent that expiration? I started the daemon with
> >
> > -p default_ttl=31104000
> >
> > to make it cache very aggresively...
>
> There could be a lot of factors, is apache setting a max-age on the
> items? As it says in the man page:
>
> default_ttl
> The default time-to-live assigned to objects if neither
> the backend
> nor the configuration assign one. Note that changes to
> this param-
> eter are not applied retroactively.
>
> Is this running on a test machine in a lab where you can control the
> requests this box gets? If so you should run some tests to make sure
> that you really are caching objects. Run wireshark on the apache
> server listening on port 80, and using curl send two requests for the
> same object, and make sure that only one request hits the apache box.
> If thats working like you expect, and the Age header is
> incrementing, then you need to run some tests using a typical
> workload that your apache server expects to see. Are you setting
> cookies on this site?
>
> I think what is happening is that you are setting a max-age on
> objects from apache ( which you can verify using curl, netcat,
> telnet, whatever you like ), and varnish is honoring that setting and
> expiring items as instructed. I'm not awesome with varnishtop and
> varnishlog yet, so I'm probably not the one to ask about getting
> those to show you an objects attributes, anyone care to assist on
> that front?
>
> --Dave
dave, thanks a lot, I may have confused it with varnishd -t, which
doesn't seem to be the same as -p default_ttl? hmm, but then again, the
manual says it's a shortcut, but the semantic sound different then the
above:
-t ttl Specifies a hard minimum time to live for cached
documents. This is a shortcut for
specifying the default_ttl run-time parameter.
Cheers, Sascha
More information about the varnish-misc
mailing list