Re: Лимиты размера кеша nginx
Maxim Dounin
mdounin на mdounin.ru
Пт Авг 19 09:06:53 UTC 2011
Hello!
On Fri, Aug 19, 2011 at 01:28:34PM +0600, klimov.d.e at gmail.com wrote:
> Добрый день.
>
> Использую nginx 1.0.5 и такую настройку кеша:
>
> proxy_cache_path /storage/nginx_cache
> levels=2:2
> keys_zone=img:4096m
> inactive=7d
> max_size=50g;
>
> Но размер директории /storage/nginx_cache растет примерно до 4ГБ.
> Если убрать параметр max_size=50g то он растет дальше.
А после убирания max_size дождались полной загрузки кеша (должен
завершиться процесс "cache loader")? Если нет - то дальнейший
рост скорее всего был связан с тем, что кеш ещё загружался, и не
стирались файлы, к которым давно не обращались (параметр
inactive).
> Выходит что размер лимита кеша в памяти "важнее"? При этом он
> обязательный параметр. Как тогда использовать max_size?
Размер зоны в памяти - ограничивает количество элементов кеша,
размер на диске - только опосредованно через количество элементов.
Зоны размером 4096m должно хватить на ~33 миллиона файлов (128
байт памяти на файл).
Вообще лимитирующих размер кеша факторов три:
1. Параметр inactive=, если к файлу никто не обращался в течении
заданного времени - его сотрут.
2. Параметр max_size=, если размер кеша больше - nginx начинает
стирать файлы, к которым дольше всего не обращались (эффективно
уменьшая inactive=, см. выше).
3. Размер зоны, в кеше не может быть больше чем (размер зоны / 128
байт) файлов.
Maxim Dounin
Подробная информация о списке рассылки nginx-ru