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

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


On Fri, Jun 05, 2009 at 02:10:57PM +0400, Igor Sysoev wrote:

> 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