&gt; а nginx делает запрос на бек и обновляет кеш. <br />ну так все равно запрос на бек то будет ) какая разница - это произойдет сразу во время запроса клиента или чуть позже?<br /><br />08.06.09, 10:55, "Анатолий Шарифулин" &lt;sharifulin@tochkak.ru&gt;:

<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" >&lt;<A mce_href="mailto:is@rambler-co.ru" href="mailto:is@rambler-co.ru" >is@rambler-co.ru</A>&gt;</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 />
&gt; На продакшен сервере(Ubuntu 7.10) использую nginx 0.7.50 для кеширования<br />
&gt; изображений в различных разрешениях.<br />
&gt; Кеш достаточно большой около 10 гб.<br />
&gt;<br />
&gt; fastcgi_cache_path  /opt/nginx-cache  levels=2:2   keys_zone=img:50m;<br />
&gt;<br />
&gt;     location /img/ {<br />
&gt;         fastcgi_pass $backend;<br />
&gt;         include fcgi_params;<br />
&gt;         fastcgi_intercept_errors off;<br />
&gt;         fastcgi_cache_key $server_addr$request_uri;<br />
&gt;         fastcgi_cache img;<br />
&gt;         fastcgi_cache_valid 304 1m;<br />
&gt;         fastcgi_cache_valid any 100d;<br />
&gt;         fastcgi_hide_header Set-Cookie;<br />
&gt;     }<br />
&gt;<br />
&gt;<br />
&gt; В последнее время заменил, что с регулярностью раз в три дня, на сервере<br />
&gt; резко повышается io-wait (100% из 400%) на пару часов.<br />
&gt;<br />
&gt; У меня есть предположение, что в этот момент nginx начинает очищать кеш.<br />
&gt;<br />
&gt; Есть ли возможность указать, чтобы nginx только в определенное время (по<br />
&gt; расписанию) проводил очистку кеша?<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 />