<div dir="auto">Гипотетически, немного поможет, если тайм-аут сделать побольше. По крайней мере http ( не вебсокеты) успеют доработать и аккуратно завершиться (убийство воркеров их рвет). То, что на дистанции 30 мин какие-то вебсокеты умрут и переподключатся (к новым воркерам), я бы сказал, что в районе погрешности. Сокеты очень живучи</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 8, 2021, 12:56 PM Vl T <<a href="mailto:tolmachev.vlad@gmail.com">tolmachev.vlad@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">У ovh при реконекте 200к-300к websocket клиентов включается antiddos, и то время, пока он включен к серверу не могут достучаться другие сервисы. (Пока websocket клиенты мучают сервер подключениями - другие сервисы отваливаются из за antiddos) Поэтому хотелось бы плавно эти websocket переподключать как-то.</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Чт, 8 апр. 2021 г. в 12:50, Илья Шипицин <<a href="mailto:chipitsine@gmail.com" target="_blank" rel="noreferrer">chipitsine@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr">ну попрут и попрут. а что делать ?<div><br></div><div><br></div><div>насколько я понимаю, штатно предполагается в том или ином виде abbrevated handshake (либо tls tickets, либо ssl sessions).</div><div>но гибкости в управлении этой штукой нет. можно сконфигурировать персистентный на диске, тогда переживете релоад, но сессии будут вечные.</div><div>безопасники обычно говорят, что лучше, чтобы при релоаде сессии и тикеты сбрасывались, но в этом случае вас 300к пользователей расстреляют на full handshake.</div><div><br></div><div>мы замеряли, Xeon держит в районе 700-1000 хендшейков в 1 сек на 1 ядро. это если полные хендшейки.</div><div><br></div><div><br></div><div>кажется, было бы совсем по хорошему, чтобы сессии переживали релоад, но можно было бы указать время жизни сессии. и безопасники оргазмировали бы, и расстрелов на релоаде бы не было.</div><div><br></div><div>если я что-то упустил, и так настроить можно, буду рад ошибиться</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">чт, 8 апр. 2021 г. в 14:45, Vl T <<a href="mailto:tolmachev.vlad@gmail.com" target="_blank" rel="noreferrer">tolmachev.vlad@gmail.com</a>>:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="auto">Nginx последний, 1.19.9, <span style="color:rgb(0,0,0)">worker_shutdown_timeout не установлен, установить его? В принципе если установить 5 минут - то через 5 минут все 300к клиентов все равно попрут толпой на сервер?</span></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Чт, 8 апр. 2021 г. в 12:41, Илья Шипицин <<a href="mailto:chipitsine@gmail.com" target="_blank" rel="noreferrer">chipitsine@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr">сокеты штатно убиваются через worker_shutdown_timeout<div><br></div><div>второй вопрос - какая у вас версия nginx ? где-то в районе 3-4 летней давности был баг, который приводил к тому, что несмотря на указанный</div><div>worker_shutdown_timeout, воркеры все равно не останавливались</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">чт, 8 апр. 2021 г. в 12:28, Vladislavik <<a href="mailto:nginx-forum@forum.nginx.org" target="_blank" rel="noreferrer">nginx-forum@forum.nginx.org</a>>:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">Добрый день, есть 200k websocket соединений на проксируемый сервер, после<br>
изменения в конфиге и попытке reload nginx появляются новые процессы nginx и<br>
зависают прошлые в статусе "nginx shutting down", которые так и не<br>
завершаются, тк клиенты могут висеть онлайн долго, эти старые процессы можно<br>
убить kill -9 pid каждый, но в этом случае nginx продолжает в /nginx_status<br>
показывать счетчик коннектов с учетом старых соединений из убитых процессов<br>
плюс заново переподключившиеся (количество коннектов после каждого reload<br>
растет в геометрической прогрессии), хотя в работе после kill старых nginx<br>
процессов остаются только новые процессы. Полностью сбросить счетчик<br>
коннектов получается только через restart nginx, но в этом случае все<br>
websocket клиенты одновременно начинают заново стучаться на сервер, чего<br>
тоже не хотелось бы, вопрос: как мягко применять новый конфиг nginx и<br>
переподключать websocket соединения хотя бы пачками, а не все одним<br>
моментом?<br>
<br>
Posted at Nginx Forum: <a href="https://forum.nginx.org/read.php?21,291167,291167#msg-291167" rel="noreferrer noreferrer" target="_blank">https://forum.nginx.org/read.php?21,291167,291167#msg-291167</a><br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank" rel="noreferrer">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank" rel="noreferrer">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div></div>-- <br><div dir="ltr"><div dir="ltr"><div><br>С уважением Толмачев Владислав.<br><a href="mailto:tolmachev.vlad@gmail.com" target="_blank" rel="noreferrer">tolmachev.vlad@gmail.com</a><br>skype: vladislaviki<br></div></div></div>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank" rel="noreferrer">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank" rel="noreferrer">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div></div>-- <br><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr"><div><br>С уважением Толмачев Владислав.<br><a href="mailto:tolmachev.vlad@gmail.com" target="_blank" rel="noreferrer">tolmachev.vlad@gmail.com</a><br>skype: vladislaviki<br></div></div></div>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank" rel="noreferrer">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div>