Transient storage killing memory

Mark Staudinger mark.staudinger at nyi.net
Mon Nov 21 21:09:08 CET 2016


On Tue, 15 Nov 2016 03:42:29 -0500, Niall Murphy  
<niall.murphy at sparwelt.de> wrote:

> I'm wondering if someone could put me in the right direction in how
> to further investigate the content of transient storage, and why it's
> larger than the regular cache.

Hi Niall,

This is a longstanding Varnish behavior, if one is not specified, a  
Transient storage pool is created as type "malloc" with no limit.

https://www.varnish-cache.org/docs/5.0/users-guide/storage-backends.html#transient-storage

The short-term solution to put a limit on this is to create a storage pool  
named "Transient" when starting varnishd.  For example, this will create  
an 128M pool - add your existing "-s pool=settings" along with this one on  
the command line or startup script.

"-s Transient=malloc,128m"

It might also be useful to capture some varnishlog output and determine  
what objects are being stored in the Transient pool, and whether or not  
your "shortlived" parameter, or default grace value needs to be adjusted.   
Even if you do determine you need to do some things differently here that  
will prevent the Transient pool from growing beyond your ideal limit, IMO  
it's a good idea to keep this limited anyway.

Cheers,
-=Mark



More information about the varnish-misc mailing list