Добрый день, Для раздачи HLS используется схема из двух серверов cache-origin, ts-чанки отдаются cache, а все запросы на m3u8-плейлисты проксируются на origin. На cache настроено проксирование с keepalive.
Кусок конфига cache: -------------------------------------------------------------------------------------------------- limit_req_zone $binary_remote_addr zone=hlslimit:10m rate=100r/s; proxy_http_version 1.1; upstream hls01 { server X.X.X.X:80 fail_timeout=3s max_fails=3; keepalive 500; keepalive_timeout 10; keepalive_requests 100000; } ... location ~* \.ts$ { proxy_set_header Host "XXX.XXXXXXX.ru"; proxy_set_header X-Cache-Host $host; proxy_buffer_size 16k; proxy_buffers 32 16k; proxy_ignore_headers "Cache-Control" "Expires"; proxy_cache e_v; proxy_cache_key $host$uri$is_args$args; proxy_cache_valid any 1m; proxy_cache_use_stale updating; proxy_cache_lock on; proxy_pass http://hls01; add_header X-Proxy-Cache $upstream_cache_status; } ... location ~* \.m3u8$ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Connection ""; proxy_set_header Host "XXX.XXXXXX.ru"; proxy_set_header X-Cache-Host $host; proxy_cache off; expires -1; limit_req zone=hlslimit burst=50 nodelay; proxy_pass http://hls01; } -------------------------------------------------------------------------------------------------- Кусок конфига origin: -------------------------------------------------------------------------------------------------- http { ... sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 15; ... } -------------------------------------------------------------------------------------------------- У cache 10G интерфейс, sysctl настроен. Под нагрузкой периодически наблюдается такая картина: https://imgur.com/a/B3fOWg7 По понятным причинам также резко подпрыгивает кол-во открытых файловых дескрипторов. В error.log на cache в эти моменты иногда (но не всегда) видны несколько сообщений: -------------------------------------------------------------------------------------------------- *137407049 upstream timed out (110: Connection timed out) while connecting to upstream... ... *143796692 limiting requests, excess: 50.400 by zone "hlslimit"... -------------------------------------------------------------------------------------------------- В error.log на origin вообще тишина. Подскажите, пожуалуйста, в чем может быть проблема? Только лишь в иногда нестабильной сетевой связности между cache и origin, всплесками запросов? Уже множество параметров было перенастроено как на origin, так и на cache, но успехов в повышении стабильности это не дало. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,283083,283083#msg-283083 _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru