Varnish intermittently returns incomplete images

Guillaume Quintard guillaume at varnish-software.com
Fri May 8 18:33:13 UTC 2020


Good question. This is because by default varnish streams the response, so
it starts sending what it has, even though it's unsure it can actually
deliver. When the eviction strikes, it just aborts the transaction.

The problem with "just" passing the data to the user is that there may be
more than one and things get really complicated.

Getting a bigger cache would help, and segregating the storages (smaller
than 1MB, and bigger than 1MB for example) would too
-- 
Guillaume Quintard


On Fri, May 8, 2020 at 11:28 AM Batanun B <batanun at hotmail.com> wrote:

> also... could you explain this part for me? "so it had to truncate it and
> throw it away"
> Why does it have to truncate it? Why not avoid caching it, and returning
> it as is, from the backend, untouched?
> ------------------------------
> *From:* Guillaume Quintard <guillaume at varnish-software.com>
> *Sent:* Friday, May 8, 2020 7:34 PM
> *To:* Batanun B <batanun at hotmail.com>
> *Cc:* varnish-misc at varnish-cache.org <varnish-misc at varnish-cache.org>
> *Subject:* Re: Varnish intermittently returns incomplete images
>
> Hi,
>
> Do you have objects that are sensibly smaller that your images in your
> cache?
>
> What you are describing sounds like LRU failure (check nuke_limit in
> "varnishadm param.show"), basically, on a miss, varnish couldn't evict
> enough objects and make room for the new object, so it had to truncate it
> and throw it away.
>
> If that's the issue, you can increase nuke_limit, or get a bigger cache,
> or segregate small and large objects into different storages.
>
> --
> Guillaume Quintard
>
>
> On Fri, May 8, 2020 at 10:14 AM Batanun B <batanun at hotmail.com> wrote:
>
> Our Varnish (test environment) intermittently returns incomplete images.
> So the binary content is not complete. When requesting the image from the
> backend directly (using curl), the complete image is returned every time (I
> tested 1000 times using a script).
>
> This happens intermittently. Sometimes Varnish returns the complete image,
> sometimes half of it, sometimes 20% etc... The incomplete image is returned
> quickly, so I don't think there is a timeout involved (we have not
> configured any specific timeout in varnish).
>
> I see nothing special in varnishlog when this happens. But I don't know
> how to troubleshoot this in a good way. Any suggestions?
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20200508/2c4c541c/attachment.html>


More information about the varnish-misc mailing list