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