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

Igor Sysoev is at rambler-co.ru
Mon Jun 8 11:05:06 MSD 2009


On Mon, Jun 08, 2009 at 10:55:49AM +0400, Анатолий Шарифулин wrote:

> Игорь, может сделать такую опцию, которая бы не чистила кеш сразу (т.е. не
> удаляла физически файл), а заменяла его. То есть: кеш после истечения
> времени жизни не удаляется, если приходит запрос, то клиенту отдается то,
> что в кеше (хоть и данные устарели), а nginx делает запрос на бек и
> обновляет кеш. Тем самым не будет всплесков из-за того, что нужно обновить
> кеш. Типа lazy-кеш :)

nginx удаляет ответ не когда он устарел, а когда он стал невостребованным
(inactive). Что касается всплесков, то сегодня в 0.8.1 будет

     proxy_cache_use_stale  ... updating ...;
     fastcgi_cache_use_stale  ... updating ...;

> Что скажете?
> 
> 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.
> >
> > Нужно смотреть, в каком состоянии находится кэш-менеджер в это время:
> > если D, то он работает с диском.
> >
> >
> > --
> > Игорь Сысоев
> > http://sysoev.ru
> >
> >
> >
> 
> 
> -- 
> С уважением,
> Анатолий Шарифулин.

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





More information about the nginx-ru mailing list