Re: Неконтроллируемый объем кеша Nginx
Dmitry
xeioex at nginx.com
Fri Apr 24 14:10:59 UTC 2015
к сожалению, из логов только видны последствия некоторой проблемы
grep 'http file cache forced expire' error.log
2015/04/24 11:17:02 [debug] 6829#0: http file cache forced expire
2015/04/24 11:17:02 [debug] 6829#0: http file cache forced expire: #1 1
854b2eed
2015/04/24 11:17:02 [debug] 6829#0: http file cache forced expire: #1 1
a77628c2
...
в данном логе, первое поле после # это счетчик использования записи в кеше.
Что можно видеть из лога на данный момент это то, что кеш-менеджеру не
удается удалить записи так как счетчик использования записей ненулевой.
Менеджер
пытается удалять записи в порядке от самых старых к самым новым, тут мы
наблюдаем
что >=20 самых старых записей в кеше, все еще 'используются' (в
текущей реализации
nginx перестает пытаться удалять файлы если >20 попыток удаления были
неуспешны).
Есть несколько гипотез которые могут объяснить такое поведение:
1) упал воркер (падающий воркер может оставить записи которые он
обрабатывал в момент падения
в общем кеше (shmem) в неконсистентном состоянии)
2) файлы все еще используются (но судя по логам не нашел этому
подтверждений)
3) ошибка в nginx, так что в какой то момент, счетчик недекрементируется.
1) можно исключить проверив аптайм воркер-процессов.
есть ощущение что самое интересное произошло гораздо раньше.
Не могли бы Вы сделать следующее?
1) сократить размер кеша, так мы сократим время воспроизведения проблемы
2) прислать дебаг-лог начиная с начала работы nginx. Конкретно интересует
часть лога до первого сообщения 'http file cache forced expire: #1'.
On 24.04.2015 12:41, vlakas wrote:
> Проблема повторилась. Дебаг можно скачать по ссылке:
> https://mega.co.nz/#!QcJDCJQC!eEAjwoUzJTwrQ98lTWD3oTeC3mPx4uX5kcMmkwZ4h1M
>
> Логи за 5 минут. В течении этого времени рост кеша наблюдался.
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258292,258349#msg-258349
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
Подробная информация о списке рассылки nginx-ru