> а nginx делает запрос на бек и обновляет кеш. <br />ну так все равно запрос на бек то будет ) какая разница - это произойдет сразу во время запроса клиента или чуть позже?<br /><br />08.06.09, 10:55, "Анатолий Шарифулин" <sharifulin@tochkak.ru>:
<BLOCKQUOTE mce_style="border-left:1px solid #CCCCCC;margin:0pt 0pt 0pt 0.8ex;padding-left:1em;" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1em;" >Игорь, может сделать такую опцию, которая бы не чистила кеш сразу (т.е. не удаляла физически файл), а заменяла его. То есть: кеш после истечения времени жизни не удаляется, если приходит запрос, то клиенту отдается то, что в кеше (хоть и данные устарели), а nginx делает запрос на бек и обновляет кеш. Тем самым не будет всплесков из-за того, что нужно обновить кеш. Типа lazy-кеш :)<br />
<br />Что скажете?<br /><br /><DIV class="gmail_quote" >2009/6/1 Igor Sysoev <SPAN dir="ltr" ><<A mce_href="mailto:is@rambler-co.ru" href="mailto:is@rambler-co.ru" >is@rambler-co.ru</A>></SPAN><br /><BLOCKQUOTE mce_style="border-left: 1px solid #cccccc; margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote" >
<DIV ><DIV ></DIV><DIV class="h5" >On Mon, Jun 01, 2009 at 01:12:00PM +0300, Taras Murashko wrote:<br />
<br />
> На продакшен сервере(Ubuntu 7.10) использую nginx 0.7.50 для кеширования<br />
> изображений в различных разрешениях.<br />
> Кеш достаточно большой около 10 гб.<br />
><br />
> fastcgi_cache_path /opt/nginx-cache levels=2:2 keys_zone=img:50m;<br />
><br />
> location /img/ {<br />
> fastcgi_pass $backend;<br />
> include fcgi_params;<br />
> fastcgi_intercept_errors off;<br />
> fastcgi_cache_key $server_addr$request_uri;<br />
> fastcgi_cache img;<br />
> fastcgi_cache_valid 304 1m;<br />
> fastcgi_cache_valid any 100d;<br />
> fastcgi_hide_header Set-Cookie;<br />
> }<br />
><br />
><br />
> В последнее время заменил, что с регулярностью раз в три дня, на сервере<br />
> резко повышается io-wait (100% из 400%) на пару часов.<br />
><br />
> У меня есть предположение, что в этот момент nginx начинает очищать кеш.<br />
><br />
> Есть ли возможность указать, чтобы nginx только в определенное время (по<br />
> расписанию) проводил очистку кеша?<br />
<br />
</DIV></DIV>nginx чистит кэш по мере того, как появляются новостребованные данные.<br />
Это регулируется параметром inactive директивы proxy_cache_path.<br />
<br />
Нужно смотреть, в каком состоянии находится кэш-менеджер в это время:<br />
если D, то он работает с диском.<br />
<FONT color="#888888" ><br />
<br />
--<br />
Игорь Сысоев<br />
<A target="_blank" mce_href="http://sysoev.ru" href="http://sysoev.ru" >http://sysoev.ru</A><br />
<br />
<br />
</FONT></BLOCKQUOTE></DIV><br /><br /><br />-- <br />С уважением,<br /> Анатолий Шарифулин.<br />
</BLOCKQUOTE><br />