Welcome! Log In Create A New Profile

Advanced

Re: cache_manager process waits 1 day to start working

Maxim Dounin
March 25, 2018 01:40PM
Hello!

On Fri, Mar 23, 2018 at 04:15:51PM +0200, Serhii Kharchenko wrote:

> Доброго дня,
>
> Столкнулся с ситуацией, когда процесс "nginx: cache manager process"
> начинает что-то делать только через сутки после рестарта nginx'а.
> Целые сутки он потребляет очень мало RAM (чуть больше 3500kB), в strace по
> кругу следующее:
> --- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---
> rt_sigreturn() = -1 EINTR (Interrupted system call)
> epoll_wait(7, 55b5d0d6bdc0, 512, -1) = -1 EINTR (Interrupted system call)
> --- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---
> rt_sigreturn() = -1 EINTR (Interrupted system call)
> epoll_wait(7, 55b5d0d6bdc0, 512, -1) = -1 EINTR (Interrupted system call)
>
> Само собой, кеши за сутки распухают, никто не чистит устаревшие файлы.
>
> Через 24 часа (с небольшими копейками, минута-две) процесс начинает
> потреблять оперативку и довольно шустро вычищает старые файлы из кешей. И
> до следующего рестарта все ОК.
>
> Процесс "nginx: cache loader process" после рестарта аналогично ждет
> минуту, потом работает несколько минут и завершается.

Отмечу, что пауза в минуту перед началом работы cache loader'а,
равно как и его завершения после загрузки кэшей - это нормально,
так и должно быть.

> Директив proxy_cache_path на весь nginx несколько, с разным параметром
> inactive, есть даже с inactive=600.
>
> nginx-1.12.2, nginx-1.13.10 - подвержены "проблеме".
>
> Ни в документации, ни в коде, ни в гугле ничего пока по этому поводу не
> нашел.
> Просьба направить по правильному пути.

В первую очередь имеет смысл убедиться, что из кэшей с
inactive=600 действительно не удаляются ответы, к которым не
обращались более 600 секунд. Потому что при перезапуске inactive
начинает считаться от момента перезапуска, и кэши с очисткой по
inactive будут ожидаемо расти до достижения времени inactive. Так
что если у большей части кэшей inactive=1d, то будет наблюдаться
как раз похожая на описанное картина.

Если действительно установленное время inactive не выдерживается,
то имеет смысл включить debug и посмотреть, что пишет cache
manager. Кроме того:

- если вдруг используются сторонние модули - стоит проверить без
них;

- басудя по strace - используется timer_resolution. Опять же,
стоит проверить без.

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

cache_manager process waits 1 day to start working

Serhii Kharchenko March 23, 2018 10:18AM

Re: cache_manager process waits 1 day to start working

Maxim Dounin March 25, 2018 01:40PM

Re: cache_manager process waits 1 day to start working

Serhii Kharchenko March 26, 2018 05:28AM

Re: cache_manager process waits 1 day to start working

Maxim Dounin March 26, 2018 08:46AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 228
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready