Кэш Nginx неуправляемый рост

У нас есть два сервера Nginx с независимыми локальными кэшами для кэширования изображений. Периодически существует проблема с неуправляемым ростом размера кэша. Этот размер может быть намного больше, чем max_size в nginx.conf. В результате кэш занимает все бесплатное дисковое пространство.

Я хочу понять, какова причина этой проблемы могла бы быть.

Конфигурация кэша прокси-сервера (nginx.conf):

proxy_cache_path /opt2/nginx-cache-images1 max_size=150g levels=2:2 keys_zone=images1:1024m inactive=24h;
proxy_temp_path /opt2/proxy_temp 1 2;

Размер /opt2/nginx-cache-images1 ~200GB.

Конфигурация местоположения сайта:

location / {
   proxy_set_header Host $host;
   proxy_set_header X-Forwarded-For $remote_addr;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Is-Referer-Search-Engine $is_referer_search_engine;
   proxy_hide_header Set-Cookie;
   proxy_hide_header Content-Disposition;
   proxy_pass http://ua-image-proxy;
   default_type image/jpeg;

   proxy_cache images1;
   proxy_cache_key ua$request_uri$is_referer_search_engine;
   proxy_cache_valid 200 24h;
   proxy_cache_valid 301 24h;
   proxy_cache_valid 404 1h;
}

Версия Nginx: 1.7.7 и 1.7.9. Это было скомпилировано на Ubuntu 14.04.

6
задан 22 April 2015 в 14:58
1 ответ

Для меня это было исправлено в nginx 1.13.1 :

Решение: теперь диспетчер кеша игнорирует длинные заблокированные записи кеша, когда очистка кеша на основе параметра «max_size».

0
ответ дан 3 December 2019 в 00:45

Теги

Похожие вопросы