Welcome! Log In Create A New Profile

Advanced

Re: Nginx reload + Websockets

Илья Шипицин
April 08, 2021 06:14AM
Гипотетически, немного поможет, если тайм-аут сделать побольше. По крайней
мере http ( не вебсокеты) успеют доработать и аккуратно завершиться
(убийство воркеров их рвет). То, что на дистанции 30 мин какие-то вебсокеты
умрут и переподключатся (к новым воркерам), я бы сказал, что в районе
погрешности. Сокеты очень живучи

On Thu, Apr 8, 2021, 12:56 PM Vl T <tolmachev.vlad@gmail.com> wrote:

> У ovh при реконекте 200к-300к websocket клиентов включается antiddos, и то
> время, пока он включен к серверу не могут достучаться другие сервисы. (Пока
> websocket клиенты мучают сервер подключениями - другие сервисы отваливаются
> из за antiddos) Поэтому хотелось бы плавно эти websocket переподключать
> как-то.
>
> Чт, 8 апр. 2021 г. в 12:50, Илья Шипицин <chipitsine@gmail.com>:
>
>> ну попрут и попрут. а что делать ?
>>
>>
>> насколько я понимаю, штатно предполагается в том или ином виде
>> abbrevated handshake (либо tls tickets, либо ssl sessions).
>> но гибкости в управлении этой штукой нет. можно сконфигурировать
>> персистентный на диске, тогда переживете релоад, но сессии будут вечные.
>> безопасники обычно говорят, что лучше, чтобы при релоаде сессии и тикеты
>> сбрасывались, но в этом случае вас 300к пользователей расстреляют на full
>> handshake.
>>
>> мы замеряли, Xeon держит в районе 700-1000 хендшейков в 1 сек на 1 ядро.
>> это если полные хендшейки.
>>
>>
>> кажется, было бы совсем по хорошему, чтобы сессии переживали релоад, но
>> можно было бы указать время жизни сессии. и безопасники оргазмировали бы, и
>> расстрелов на релоаде бы не было.
>>
>> если я что-то упустил, и так настроить можно, буду рад ошибиться
>>
>>
>> чт, 8 апр. 2021 г. в 14:45, Vl T <tolmachev.vlad@gmail.com>:
>>
>>> Nginx последний, 1.19.9, worker_shutdown_timeout не установлен,
>>> установить его? В принципе если установить 5 минут - то через 5 минут все
>>> 300к клиентов все равно попрут толпой на сервер?
>>>
>>> Чт, 8 апр. 2021 г. в 12:41, Илья Шипицин <chipitsine@gmail.com>:
>>>
>>>> сокеты штатно убиваются через worker_shutdown_timeout
>>>>
>>>> второй вопрос - какая у вас версия nginx ? где-то в районе 3-4 летней
>>>> давности был баг, который приводил к тому, что несмотря на указанный
>>>> worker_shutdown_timeout, воркеры все равно не останавливались
>>>>
>>>> чт, 8 апр. 2021 г. в 12:28, Vladislavik <nginx-forum@forum.nginx.org>:
>>>>
>>>>> Добрый день, есть 200k websocket соединений на проксируемый сервер,
>>>>> после
>>>>> изменения в конфиге и попытке reload nginx появляются новые процессы
>>>>> nginx и
>>>>> зависают прошлые в статусе "nginx shutting down", которые так и не
>>>>> завершаются, тк клиенты могут висеть онлайн долго, эти старые процессы
>>>>> можно
>>>>> убить kill -9 pid каждый, но в этом случае nginx продолжает в
>>>>> /nginx_status
>>>>> показывать счетчик коннектов с учетом старых соединений из убитых
>>>>> процессов
>>>>> плюс заново переподключившиеся (количество коннектов после каждого
>>>>> reload
>>>>> растет в геометрической прогрессии), хотя в работе после kill старых
>>>>> nginx
>>>>> процессов остаются только новые процессы. Полностью сбросить счетчик
>>>>> коннектов получается только через restart nginx, но в этом случае все
>>>>> websocket клиенты одновременно начинают заново стучаться на сервер,
>>>>> чего
>>>>> тоже не хотелось бы, вопрос: как мягко применять новый конфиг nginx и
>>>>> переподключать websocket соединения хотя бы пачками, а не все одним
>>>>> моментом?
>>>>>
>>>>> Posted at Nginx Forum:
>>>>> https://forum.nginx.org/read.php?21,291167,291167#msg-291167
>>>>>
>>>>> _______________________________________________
>>>>> nginx-ru mailing list
>>>>> nginx-ru@nginx.org
>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>>>
>>>> _______________________________________________
>>>> nginx-ru mailing list
>>>> nginx-ru@nginx.org
>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>>
>>> --
>>>
>>> С уважением Толмачев Владислав.
>>> tolmachev.vlad@gmail.com
>>> skype: vladislaviki
>>> _______________________________________________
>>> nginx-ru mailing list
>>> nginx-ru@nginx.org
>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru@nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
> --
>
> С уважением Толмачев Владислав.
> tolmachev.vlad@gmail.com
> skype: vladislaviki
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Nginx reload + Websockets

Vladislavik April 08, 2021 03:28AM

Re: Nginx reload + Websockets

Илья Шипицин April 08, 2021 05:42AM

Re: Nginx reload + Websockets

Vladislavik April 08, 2021 05:46AM

Re: Nginx reload + Websockets

Илья Шипицин April 08, 2021 05:52AM

Re: Nginx reload + Websockets

Vladislavik April 08, 2021 05:58AM

Re: Nginx reload + Websockets

Илья Шипицин April 08, 2021 06:14AM

Re: Nginx reload + Websockets

Andrei Belov April 08, 2021 06:04AM

Re: Nginx reload + Websockets

Илья Шипицин April 08, 2021 06:26AM

Re: Nginx reload + Websockets

Илья Шипицин April 08, 2021 06:30AM

Re: Nginx reload + Websockets

Alex Vorona April 08, 2021 06:38AM

Re: Nginx reload + Websockets

Maxim Dounin April 08, 2021 11:40AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 105
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready