Question about an LRU error
jmathiesen at tripadvisor.com
Fri Nov 17 15:13:07 UTC 2017
Thanks very much for your response. I'll look into the multiple cache option.
From: Guillaume Quintard <guillaume at varnish-software.com>
Date: Friday, November 17, 2017 at 10:10 AM
To: James Mathiesen <jmathiesen at tripadvisor.com>
Cc: "varnish-misc at varnish-cache.org" <varnish-misc at varnish-cache.org>
Subject: Re: Question about an LRU error
Varnish hit the lru limit, meaning it delete N objects to make room for the new one, and decided it was enough. N is called "nuke_limit", you can change it at launch time using the -p switch.
If your objects are indeed very diverse in size, it makes sense to have multiple storages, one for small content, and another for larger content. That way you won't need to go through a million objects to push a new one in cache.
On Fri, Nov 17, 2017 at 3:54 PM, James Mathiesen <jmathiesen at tripadvisor.com<mailto:jmathiesen at tripadvisor.com>> wrote:
This is running RPM varnish-4.1.8-1.el7.x86_64 in a kubernetes container.
We had user complaints that a binary object (~100MB) was coming back truncated on every fetch.
Fetching the object I saw the following in the varnish logs:
- ExpKill LRU_Cand p=0x7feffe41abc0 f=0x0 r=1
- ExpKill LRU x=435945906
- ExpKill LRU_Cand p=0x7ff018c63880 f=0x0 r=1
- ExpKill LRU x=423595256
- ExpKill LRU_Cand p=0x7ff0129314c0 f=0x0 r=1
- ExpKill LRU x=432965548
- ExpKill LRU_Exhausted
- FetchError Could not get storage
- BackendClose 29 boot.default
- BereqAcct 260 0 260 399 2789376 2789775
Which seems consistent with the symptom -- the backend transfer starts and gets streamed to the client but partway through the transfer the backend and frontend connections are reset.
The problem is going to be difficult to reproduce as the symptom only appears after the container has been running for months.
The dataset is media objects of various sizes (from tiny thumbnails to a few hundred MB) and the cache available is 5GB. The cache is much, much smaller than the working set. The object we noticed the problem with is about 100MB.
Before I spent a lot of time gathering further data I wanted to understand if I'm hitting a known behavior and whether there's any value to anyone if I try and gather more information vs. just planning an upgrade to 5.2 and seeing if the problem goes away.
varnish-misc mailing list
varnish-misc at varnish-cache.org<mailto:varnish-misc at varnish-cache.org>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the varnish-misc