<div dir="ltr">добавлю что<div><br></div><div><div>nginx version: nginx/1.9.10</div><div>built by gcc 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) </div><div>built with OpenSSL 1.0.2f  28 Jan 2016</div><div>TLS SNI support enabled</div><div>configure arguments: --user=nginx --group=nginx --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx --with-openssl=/builddir/build/BUILD/nginx-1.9.10/openssl-1.0.2f --with-openssl-opt=enable-tlsext --with-http_secure_link_module --with-http_random_index_module --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_geoip_module --with-http_v2_module --with-http_auth_request_module --with-debug --with-file-aio --with-stream --with-stream_ssl_module --with-threads --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --add-module=/builddir/build/BUILD/nginx-1.9.10/lua-nginx-module-0.10.0 --add-module=/builddir/build/BUILD/nginx-1.9.10/ngx_devel_kit-0.2.19 --add-module=/builddir/build/BUILD/nginx-1.9.10/nginx_accept_language_module --add-module=/builddir/build/BUILD/nginx-1.9.10/nginx-dav-ext-module --add-module=/builddir/build/BUILD/nginx-1.9.10/ngx_http_redis-0.3.7 --add-module=/builddir/build/BUILD/nginx-1.9.10/echo-nginx-module-0.56 --add-module=/builddir/build/BUILD/nginx-1.9.10/ngx_cache_purge --add-module=/builddir/build/BUILD/nginx-1.9.10/nginx-push-stream-module --add-module=/builddir/build/BUILD/nginx-1.9.10/nginx-module-vts</div></div><div><br></div><div><br></div><div>запросы клиентов с range, соответственно ответы 206</div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-02-12 18:38 GMT+03:00 Vasil Mikhalenya <span dir="ltr"><<a href="mailto:bazilek@gmail.com" target="_blank">bazilek@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>проблема все еще воспроизводится с таким конфигом,</div><div><br></div><div>    location / {</div><div>        proxy_pass <a href="http://origin.example.com" target="_blank">http://origin.example.com</a>;</div><span class=""><div>        proxy_set_header Host       $proxy_host;</div><div>        proxy_cache_lock on;</div></span><div>        proxy_cache_lock_age 1d;</div><div>        proxy_cache_lock_timeout 1d;</div><div>        proxy_cache_revalidate on;</div><div>        proxy_cache_use_stale updating;</div><span class=""><div>        proxy_cache_key "$uri";</div><div>        add_header Cache $upstream_cache_status;</div></span><div>        add_header X-ID  "{{ ansible_hostname }}";</div><div>    }</div><div><br></div><div>за пару часов nginx просто съедает >1Tb локального диска, помогает только остановка nginx, очистка tmp кеша, запуск nginx, иногда делать это нужно несколько раз</div><div><br></div><div>в логах в этот момент</div><div><br></div><div><div><div>2016/02/11 05:08:42 [crit] 9777#9777: *54423736 cache file "/var/lib/nginx/cache/c1/9c9de47f28ebc598e526af36d402e8f4" has too long header, client: 67.11.37.88,</div><div>2016/02/11 05:08:44 [crit] 9777#9777: *54423724 cache file "/var/lib/nginx/cache/c1/9c9de47f28ebc598e526af36d402e8f4" has too long header, client: 67.11.37.88,</div><div>2016/02/11 05:08:44 [crit] 9777#9777: *54423726 cache file "/var/lib/nginx/cache/c1/9c9de47f28ebc598e526af36d402e8f4" has too long header, client: 67.11.37.88,</div><div>2016/02/11 05:08:44 [crit] 9777#9777: *54423729 cache file "/var/lib/nginx/cache/c1/9c9de47f28ebc598e526af36d402e8f4" has too long header, client: 67.11.37.88,</div><div>2016/02/11 05:08:44 [crit] 9777#9777: *54423737 cache file "/var/lib/nginx/cache/c1/9c9de47f28ebc598e526af36d402e8f4" has too long header, client: 67.11.37.88,</div></div></div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">2015-04-30 14:05 GMT+03:00 Vasil Mikhalenya <span dir="ltr"><<a href="mailto:bazilek@gmail.com" target="_blank">bazilek@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Спасибо, пробуем. <div><br></div><div>Однако это не совсем очевидно, что во время валидации cache в tmpdir начинают появляться файлы на каждый range запрос.</div></div><div class="gmail_extra"><div><div><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><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><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><font color="#888888"><br>
--<br>
Maxim Dounin<br>
<a href="http://nginx.org/" target="_blank">http://nginx.org/</a><br>
</font></span><div><div><br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">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></div></div><span>-- <br><div>Best regards,<br>Vasil Mikhalenya</div>
</span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Best regards,<br>Vasil Mikhalenya</div>
</div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Best regards,<br>Vasil Mikhalenya</div>
</div>