Welcome! Log In Create A New Profile

Advanced

Периодические проблемы под нагрузкой

February 20, 2019 07:08AM
Добрый день,

Для раздачи 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, но успехов в повышении стабильности это не дало.
Subject Author Posted

Периодические проблемы под нагрузкой

waster February 20, 2019 07:08AM

Re: Периодические проблемы под нагрузкой

Evgeniy Berdnikov February 20, 2019 07:50AM

Re: Периодические проблемы под нагрузкой

waster February 20, 2019 10:56AM

Re: Периодические проблемы под нагрузкой

waster February 21, 2019 07:06AM

Re: Периодические проблемы под нагрузкой

Evgeniy Berdnikov February 21, 2019 07:40AM

Re: Периодические проблемы под нагрузкой

waster February 22, 2019 03:36AM

Re: Периодические проблемы под нагрузкой

Evgeniy Berdnikov February 22, 2019 08:54AM

Re: Периодические проблемы под нагрузкой

waster February 25, 2019 04:57AM

Re: Периодические проблемы под нагрузкой

waster February 25, 2019 07:07AM

Re: Периодические проблемы под нагрузкой

damir bikmuhametov February 21, 2019 08:40AM

Re: Периодические проблемы под нагрузкой

waster February 21, 2019 08:55AM

Re: Периодические проблемы под нагрузкой

Slawa Olhovchenkov February 21, 2019 09:14AM

Re: Периодические проблемы под нагрузкой

waster February 21, 2019 11:37AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 71
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready