Re: slice module и proxy_cache_min_uses больше единицы.
    Vadim Lazovskiy 
    vadim.lazovskiy на gmail.com
       
    Сб Фев 27 16:56:06 UTC 2016
    
    
  
27 февраля 2016 г., 19:07 пользователь Roman Arutyunyan <arut at nginx.com>
написал:
> Можете прислать всю конфигурацию?
>
>
# configuration file /etc/nginx/nginx.conf:
user nginx;
worker_processes 32;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
worker_rlimit_nofile 1048576;
#thread_pool pool_ssd01 threads=32;
#thread_pool pool_ssd02 threads=32;
events {
        worker_connections 8196;
}
http {
        include /etc/nginx/mime.types;
        default_type application/octet-stream;
        access_log /var/log/nginx/access.log;
        sendfile on;
        #tcp_nopush on;
        keepalive_timeout 65;
        include /etc/nginx/vhosts.d/*.conf;
}
# configuration file /etc/nginx/mime.types:
types {
...
}
# configuration file /etc/nginx/vhosts.d/<server_name>.conf:
map $upstream_hostname $allowed {
        <host1> 1;
        <host2> 1;
        default 0;
}
log_format cache_video '$time_iso8601 $remote_addr "$request" $status
$bytes_sent $upstream_cache_status';
proxy_cache_path /disks/ssd01 levels=1:2 keys_zone=cache_ssd01:32m
use_temp_path=off inactive=7d max_size=210G;
proxy_cache_path /disks/ssd02 levels=1:2 keys_zone=cache_ssd02:32m
use_temp_path=off inactive=7d max_size=210G;
split_clients $request_uri $disk {
        50% ssd01;
        50% ssd02;
}
server {
        listen <server_ip> default_server;
        access_log /var/log/nginx/<server_name>-cache.log cache_video;
        access_log /var/log/nginx/<server_name>-access.log;
        error_log /var/log/nginx/<server_name>-error.log info;
        root /var/www/vhosts/<server_name>;
        resolver <resolver_ip>;
        proxy_max_temp_file_size 0;
        location /streams/ {
                location ~
^/streams/(?<upstream_hostname>[^/]+)/(?<upstream_uri>.*)$ {
                        if ($allowed = 0) {
                                return 403;
                        }
                        #aio threads=pool_$disk;
                        #sendfile on;
                        slice 10m;
                        limit_rate 1M;
                        limit_rate_after 2M;
                        proxy_pass http://
$upstream_hostname/$upstream_uri$is_args$args;
                        proxy_set_header Host $upstream_hostname;
                        proxy_set_header Range $slice_range;
                        proxy_cache_min_uses 10;
                        proxy_cache cache_$disk;
                        proxy_cache_key
$upstream_hostname$upstream_uri$slice_range;
                        proxy_cache_revalidate on;
                        proxy_cache_bypass $arg_start;
                        proxy_no_cache $arg_start;
                        proxy_cache_lock on;
                        proxy_cache_use_stale error timeout invalid_header
updating http_500 http_502 http_503 http_504 http_403;
                }
        }
}
> Кроме того, можете проследить открытые дескрипторы у воркеров nginx и их
> изменение со временем?  В особенности, растет ли их число и, если растет,
> то
> за счет чего именно.
>
Поставил
#!/bin/bash
DIR="/var/log/nginx-lsof"
STAMP=`date +"%Y%m%d%H%M"`
out_dir="$DIR/$STAMP"
[ ! -d "$out_dir" ] && mkdir -p "$out_dir"
/bin/ps wwho pid,args -C nginx-debug | cut -f 1,3 -d ' ' | while read pid
type
do
        out_file="$out_dir/nginx-$type-$pid.log"
        lsof -p "$pid" > $out_file
done
в крон раз в 5 минут. Посмотрим.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20160227/43ca9271/attachment.html>
    
    
Подробная информация о списке рассылки nginx-ru