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

Igor Sysoev is at rambler-co.ru
Fri Jun 5 14:10:57 MSD 2009


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