Nginx cache returns MISS after a few hours, can't be set up to cache "forever"

Roman Arutyunyan arut at nginx.com
Tue Nov 28 12:18:31 UTC 2017


Hi,

On Tue, Nov 28, 2017 at 12:32:32PM +0100, mig at 1984.cz wrote:
> Hi,
> 
> I am trying to cache files "forever". Unfortunately in about 2-6 hours the cache starts to return MISS again. This is the setting:
> 
> ---
> 
> proxy_cache_path /var/cache/nginx-cache  levels=1:2 keys_zone=mycache:10m max_size=20g inactive=10y;
> 
> proxy_cache_valid  10y;
> 
> "Expires" header returned by the upstream is set to the year 2027 and "Cache-Control" to max-age=315360000 (i.e. 10 years).
> 
> ---
> 
> I suppose, if was the expiry time the reason, it would have return EXPIRED, but not MISS.
> 
> The cache fills up to ~5 GB (from allowed 20 GB), so the space should not be the problem.
> 
> I have tried to remove all cached files and restart nginx, but it did not help.
> 
> For testing I use plain curl GET requests (without ETag, Vary, etc. headers) - always the same.

It's not only disk size that matters.
Cache entries may also be evicted when approaching the keyz_zone size.
Try increasing the zone size.

-- 
Roman Arutyunyan


More information about the nginx mailing list