<div dir="ltr">Спасибо, пробуем. <div><br></div><div>Однако это не совсем очевидно, что во время валидации cache в tmpdir начинают появляться файлы на каждый range запрос.</div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-04-29 14:18 GMT+03:00 Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<br>
On Wed, Apr 29, 2015 at 12:35:22PM +0300, Vasil Mikhalenya wrote:<br>
<br>
> Коллеги, подскажите что происходит<br>
<br>
[...]<br>
<span class=""><br>
> proxy_cache_path /var/lib/nginx/cache keys_zone=mycdn:20m inactive=1d<br>
> use_temp_path=off;<br>
><br>
><br>
> server {<br>
> listen 80;<br>
> server_name <a href="http://mycdn.com" target="_blank">mycdn.com</a> 127.0.0.1;<br>
><br>
> proxy_cache mycdn;<br>
><br>
> location / {<br>
> proxy_pass <a href="http://origin" target="_blank">http://origin</a>;<br>
> proxy_set_header Host $proxy_host;<br>
> proxy_cache_lock on;<br>
> proxy_cache_lock_age 2h;<br>
> proxy_cache_lock_timeout 2h;<br>
> proxy_cache_key "$uri";<br>
> add_header Cache $upstream_cache_status;<br>
> }<br>
> }<br>
><br>
><br>
> [root@node ~]# ll /var/lib/nginx/cache/ | wc -l<br>
><br>
> 228<br>
> т.е. у nginx в cache есть около 2 сотен популярных файлов (118G<br>
> /var/lib/nginx/cache/),<br>
> он успешно отдает несколько дней, ничего нового из origin не качает, в<br>
> какой то момент случается это<br>
<br>
</span>Видимо, это происходит в тот момент, когда ответы в кеше<br>
expire'ятся. Имеет смысл включить "proxy_cache_use_stale<br>
updating", см. тут:<br>
<br>
<a href="http://nginx.org/r/proxy_cache_use_stale/ru" target="_blank">http://nginx.org/r/proxy_cache_use_stale/ru</a><br>
<br>
Кроме того, если речь идёт о больших статических файлах - имеет<br>
смысл также использовать proxy_cache_revalidate, см. тут:<br>
<br>
<a href="http://nginx.org/r/proxy_cache_revalidate/ru" target="_blank">http://nginx.org/r/proxy_cache_revalidate/ru</a><br>
<span class=""><br>
> [root@node ~]# ll /var/lib/nginx/cache/temp/ | wc -l<br>
><br>
> 5714<br>
><br>
> Т.е. число файлов в temp растет очень быстро, хотя обычно = 0.<br>
><br>
> restart nginx и очистка tempdir не помогает (файлы в tempdir появляются<br>
> снова), помогает только полная очистка cache<br>
<br>
</span>Потому что proxy_cache_lock используется только при добавлении<br>
элементов в кеш. Если хочется избежать одновременных обращений на<br>
бекенд нескольких клиентов при обновлении, то надо включать<br>
"proxy_cache_use_stale updating", см. выше.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Maxim Dounin<br>
<a href="http://nginx.org/" target="_blank">http://nginx.org/</a><br>
</font></span><div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Best regards,<br>Vasil Mikhalenya</div>
</div>