<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">27 февраля 2016 г., 19:07 пользователь Roman Arutyunyan <span dir="ltr"><<a href="mailto:arut@nginx.com" target="_blank">arut@nginx.com</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Можете прислать всю конфигурацию?<br>
<br></blockquote><div><br></div><div><div># configuration file /etc/nginx/nginx.conf:</div><div>user nginx;</div><div>worker_processes 32;</div><div><br></div><div>error_log /var/log/nginx/error.log warn;</div><div>pid /var/run/nginx.pid;</div><div><br></div><div>worker_rlimit_nofile 1048576;</div><div><br></div><div>#thread_pool pool_ssd01 threads=32;</div><div>#thread_pool pool_ssd02 threads=32;</div><div><br></div><div>events {</div><div>        worker_connections 8196;</div><div>}</div><div><br></div><div>http {</div><div>        include /etc/nginx/mime.types;</div><div>        default_type application/octet-stream;</div><div><br></div><div>        access_log /var/log/nginx/access.log;</div><div><br></div><div>        sendfile on;</div><div>        #tcp_nopush on;</div><div><br></div><div>        keepalive_timeout 65;</div><div><br></div><div>        include /etc/nginx/vhosts.d/*.conf;</div><div>}</div><div><br></div><div># configuration file /etc/nginx/mime.types:</div><div><br></div><div>types {</div><div><span class="" style="white-space:pre">    </span>...</div><div>}</div><div><br></div><div># configuration file /etc/nginx/vhosts.d/<server_name>.conf:</div><div>map $upstream_hostname $allowed {</div><div>        <host1> 1;</div><div>        <host2> 1;</div><div><br></div><div>        default 0;</div><div>}</div><div><br></div><div><br></div><div>log_format cache_video '$time_iso8601 $remote_addr "$request" $status $bytes_sent $upstream_cache_status';</div><div><br></div><div>proxy_cache_path /disks/ssd01 levels=1:2 keys_zone=cache_ssd01:32m use_temp_path=off inactive=7d max_size=210G;</div><div>proxy_cache_path /disks/ssd02 levels=1:2 keys_zone=cache_ssd02:32m use_temp_path=off inactive=7d max_size=210G;</div><div><br></div><div>split_clients $request_uri $disk {</div><div>        50% ssd01;</div><div>        50% ssd02;</div><div>}</div><div><br></div><div><br></div><div>server {</div><div>        listen <server_ip> default_server;</div><div><br></div><div>        access_log /var/log/nginx/<server_name>-cache.log cache_video;</div><div>        access_log /var/log/nginx/<server_name>-access.log;</div><div>        error_log /var/log/nginx/<server_name>-error.log info;</div><div><br></div><div>        root /var/www/vhosts/<server_name>;</div><div><br></div><div>        resolver <resolver_ip>;</div><div><br></div><div>        proxy_max_temp_file_size 0;</div><div><br></div><div>        location /streams/ {</div><div>                location ~ ^/streams/(?<upstream_hostname>[^/]+)/(?<upstream_uri>.*)$ {</div><div>                        if ($allowed = 0) {</div><div>                                return 403;</div><div>                        }</div><div><br></div><div>                        #aio threads=pool_$disk;</div><div>                        #sendfile on;</div><div><br></div><div>                        slice 10m;</div><div><br></div><div>                        limit_rate 1M;</div><div>                        limit_rate_after 2M;</div><div><br></div><div>                        proxy_pass http://$upstream_hostname/$upstream_uri$is_args$args;</div><div>                        proxy_set_header Host $upstream_hostname;</div><div>                        proxy_set_header Range $slice_range;</div><div><br></div><div>                        proxy_cache_min_uses 10;</div><div><br></div><div>                        proxy_cache cache_$disk;</div><div>                        proxy_cache_key $upstream_hostname$upstream_uri$slice_range;</div><div>                        proxy_cache_revalidate on;</div><div><br></div><div>                        proxy_cache_bypass $arg_start;</div><div>                        proxy_no_cache $arg_start;</div><div><br></div><div>                        proxy_cache_lock on;</div><div><br></div><div>                        proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504 http_403;</div><div>                }</div><div>        }</div><div>}</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Кроме того, можете проследить открытые дескрипторы у воркеров nginx и их<br>
изменение со временем?  В особенности, растет ли их число и, если растет, то<br>
за счет чего именно.<br>
<div class=""><div class="h5"></div></div></blockquote></div><br>
</div><div class="gmail_extra">Поставил </div><div class="gmail_extra"><div class="gmail_extra"><br></div><div class="gmail_extra">#!/bin/bash</div><div class="gmail_extra"><br></div><div class="gmail_extra">DIR="/var/log/nginx-lsof"</div><div class="gmail_extra">STAMP=`date +"%Y%m%d%H%M"`</div><div class="gmail_extra"><br></div><div class="gmail_extra">out_dir="$DIR/$STAMP"</div><div class="gmail_extra"><br></div><div class="gmail_extra">[ ! -d "$out_dir" ] && mkdir -p "$out_dir"</div><div class="gmail_extra"><br></div><div class="gmail_extra">/bin/ps wwho pid,args -C nginx-debug | cut -f 1,3 -d ' ' | while read pid type</div><div class="gmail_extra">do</div><div class="gmail_extra">        out_file="$out_dir/nginx-$type-$pid.log"</div><div class="gmail_extra">        lsof -p "$pid" > $out_file</div><div class="gmail_extra">done</div><div><br></div><div>в крон раз в 5 минут. Посмотрим.</div></div></div>