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