Hi Guillaume,

Thanks very much for your response.  I'll look into the multiple cache option.

james

From: Guillaume Quintard <[email protected]>
Date: Friday, November 17, 2017 at 10:10 AM
To: James Mathiesen <[email protected]>
Cc: "[email protected]" <[email protected]>
Subject: Re: Question about an LRU error

Hello James,

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.

--
Guillaume Quintard

On Fri, Nov 17, 2017 at 3:54 PM, James Mathiesen 
<[email protected]<mailto:[email protected]>> 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
-   End

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.

james

_______________________________________________
varnish-misc mailing list
[email protected]<mailto:[email protected]>
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.varnish-2Dcache.org_lists_mailman_listinfo_varnish-2Dmisc&d=DwMFaQ&c=9Hv6XPedRSA-5PSECC38X80c1h60_XWA4z1k_R1pROA&r=CfAaYCQEf7pGoAdbq0Icw0twCvsk5y-CVhkNDSSJWU0&m=fbv_Op81U-5r_JORnee-GPH_nKBRvP_uUtjKXHd0c10&s=h3lZIoIuPwkE15JPYFo-edvSfs2mg0orCadPG7V2hR8&e=>

_______________________________________________
varnish-misc mailing list
[email protected]
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc

Reply via email to