Управление cache manager просессом по расписанию

Igor Sysoev is at rambler-co.ru
Fri Jun 5 15:29:21 MSD 2009


On Fri, Jun 05, 2009 at 02:20:14PM +0300, Taras Murashko wrote:

> 2009/6/5 Igor Sysoev <is at rambler-co.ru>
> 
> > On Fri, Jun 05, 2009 at 01:08:04PM +0300, Taras Murashko wrote:
> >
> > > 2009/6/1 Igor Sysoev <is at rambler-co.ru>
> > >
> > > > On Mon, Jun 01, 2009 at 02:52:58PM +0300, Taras Murashko wrote:
> > > >
> > > > > 2009/6/1 Igor Sysoev <is at rambler-co.ru>
> > > > >
> > > > > > On Mon, Jun 01, 2009 at 01:12:00PM +0300, Taras Murashko wrote:
> > > > > >
> > > > > > > На продакшен сервере(Ubuntu 7.10) использую nginx 0.7.50 для
> > > > кеширования
> > > > > > > изображений в различных разрешениях.
> > > > > > > Кеш достаточно большой около 10 гб.
> > > > > > >
> > > > > > > fastcgi_cache_path  /opt/nginx-cache  levels=2:2
> > keys_zone=img:50m;
> > > > > > >
> > > > > > >     location /img/ {
> > > > > > >         fastcgi_pass $backend;
> > > > > > >         include fcgi_params;
> > > > > > >         fastcgi_intercept_errors off;
> > > > > > >         fastcgi_cache_key $server_addr$request_uri;
> > > > > > >         fastcgi_cache img;
> > > > > > >         fastcgi_cache_valid 304 1m;
> > > > > > >         fastcgi_cache_valid any 100d;
> > > > > > >         fastcgi_hide_header Set-Cookie;
> > > > > > >     }
> > > > > > >
> > > > > > >
> > > > > > > В последнее время заменил, что с регулярностью раз в три дня, на
> > > > сервере
> > > > > > > резко повышается io-wait (100% из 400%) на пару часов.
> > > > > > >
> > > > > > > У меня есть предположение, что в этот момент nginx начинает
> > очищать
> > > > кеш.
> > > > > > >
> > > > > > > Есть ли возможность указать, чтобы nginx только в определенное
> > время
> > > > (по
> > > > > > > расписанию) проводил очистку кеша?
> > > > > >
> > > > > > nginx чистит кэш по мере того, как появляются новостребованные
> > данные.
> > > > > > Это регулируется параметром inactive директивы proxy_cache_path.
> > > > >
> > > > >
> > > > > Я привел несколько устаревшую конфигурацию, в тот момент на сервере
> > был
> > > > > установлен inactive=10d
> > > > > fastcgi_cache_path  /opt/nginx-cache  levels=2:2   keys_zone=img:50m
> > > > > inactive=10d;
> > > > >
> > > > > А какая зависимость между значением inactive и промежутками очистки
> > кеша?
> > > >
> > > > Прямой связи нет. Ответы удаляются через 10 дней после его последнего
> > > > использования. Промежутков очистки нет - чистка делается всё время,
> > > > пока есть такие неиспользующиеся ответы.
> > > >
> > >
> > > На сервере опять начала проявлятся описаная мной выше проблема.
> > > Просесс nginx: cache manager находится в состоянии D
> > > root     20169  0.0  0.0  68332   760 ?        Ss   12:39   0:00 nginx:
> > > master process /usr/local/nginx/sbin/nginx
> > > www-data 20170  0.3  0.1  69888 15948 ?        S<   12:39   0:03 nginx:
> > > worker process
> > > www-data 20171  0.2  0.1  70152 14812 ?        S<   12:39   0:03 nginx:
> > > worker process
> > > www-data 20172  0.3  0.1  70400 15500 ?        S<   12:39   0:03 nginx:
> > > worker process
> > > www-data 20173  0.3  0.1  70024 14916 ?        S<   12:39   0:04 nginx:
> > > worker process
> > > www-data 20174  0.5  0.1  68500 15812 ?        D    12:39   0:06 nginx:
> > > cache manager process
> > >
> > > За пуру минут до этого был перегружен nginx.
> >
> > Если nginx только что переконфигурили, что "cache manager process" будет
> > читать диск - он же подымает кэш. А до перегрузки iowait был нормальный ?
> 
> Да до этого нормальный.

Не нужно делать рестарт, нужно делать переконфигурацию.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list