Welcome! Log In Create A New Profile

Advanced

Re: Пролагивание коннектов при проверке синтаксиса

kpoxa
November 14, 2018 03:46AM
Сокеты в основном в stream, поэтому их агрегировать не получится, как я
понимаю, с http то проблем нет.

Парзинг конфига занимает около секунды, а вот знание того, что получился
невалидный конфиг очень помогает избежать простоев.

Основная проблема в долгом syscall bind, который долгий при определенных
обстоятельствах. И почему он долгий не понятно.
в strace видно время вызовов и видно, что для бинда по 443 порту оно в
сотни раз дольше, чем для других портов.

вт, 13 нояб. 2018 г. в 21:58, Maxim Dounin <mdounin@mdounin.ru>:

> Hello!
>
> On Tue, Nov 13, 2018 at 08:23:03PM +0300, kpoxa wrote:
>
> > Добрый день.
> >
> > Есть сервер (Dual Xeon E5620, средняя нагрузка проца в праймтайм 20%) с
> > nginx в главной и по сути единственной роли, задача которого
> проксирование
> > и больше ничего.
> >
> > В конфиге 101 listen на уникальные ip:port, nginx без сторонних модулей.
> > 1.15.4, но думаю что версия тут не при чем.
> > Debian Linux Jessy с ядром 3.16.
> >
> > В среднем одновременных коннектов открыто 150-200 тыс. 70% из них по 443
> > порту.
> > в логе собирается время отвремя апстрима и было замечено, то раз в 30
> > секунд оно пролагивает у части коннектов на лишнюю секунду, т.е. обычно
> > 0.01, а тут 1.01 сек.
> > Выяснилось что раз в 30 секунд срабатывает проверка конфига заббиксом,
> т.е.
> > вызывается
> > nginx -t
> >
> > Ручной вызов nginx -t привел к появлению в логах лагающих запросов в это
> > время, выключение аббикс агента такие запросы убирает вообще.
> > команда
> > time nginx -t
> > nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
> > nginx: configuration file /etc/nginx/nginx.conf test is successful
> > real 0m0.601s
> > user 0m0.044s
> > sys 0m0.432s
> > показывает 0.4 с лишним секунды в режиме ядра.
> > а попытка разобраться чем же занято ядра выдало ниже следующее
> >
> > strace -Ttt nginx -t 2>&1 | grep bind
> >
> > т.е. bind на 443 порты занимает 15 тысячных секунды, против стотысячных
> > долей у прочих биндов.
> >
> > Есть ли идеи, как решить проблему пролагиваний при проверке конфига?
> > Вариант убрать её из заббикса считаю академически неправильным, просьба
> его
> > не рассматривать.
> >
> > reuseport не используется, может он помочь?
>
> Из общих соображений я бы скорее предположил, что reuseport в
> данной ситуации сделает хуже, а не лучше. Потому что сокетов
> станет только больше, а bind() должен проверить конфликты с
> открытыми сокетами.
>
> Очевидное решение - добавить listen на *:443, тогда listen-сокет
> будет один, и проблема исчезнет.
>
> Впрочем, запускать "nginx -t" раз в 30 секунд - это, скажем так,
> очень странное решение, если не сказать грубее. Особенно с учётом
> того, что только парсинг конфигурации вполне может занимать
> несколько минут.
>
> --
> Maxim Dounin
> http://mdounin.ru/
> _______________________________________________
> 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

Пролагивание коннектов при проверке синтаксиса

kpoxa November 13, 2018 12:24PM

Re: Пролагивание коннектов при проверке синтаксиса

Maxim Dounin November 13, 2018 02:00PM

Re: Пролагивание коннектов при проверке синтаксиса

kpoxa November 14, 2018 03:46AM

Re: Пролагивание коннектов при проверке синтаксиса

Maxim Dounin November 14, 2018 08:00AM

Re: Пролагивание коннектов при проверке синтаксиса

kpoxa November 14, 2018 09:12AM

Re: Пролагивание коннектов при проверке синтаксиса

Vadim A. Misbakh-Soloviov November 15, 2018 12:24AM

Re: Пролагивание коннектов при проверке синтаксиса

kpoxa November 15, 2018 04:44AM

Re: Пролагивание коннектов при проверке синтаксиса

Vadim A. Misbakh-Soloviov November 15, 2018 08:06AM

Re: Пролагивание коннектов при проверке синтаксиса

kpoxa November 15, 2018 08:56AM

Re: Пролагивание коннектов при проверке синтаксиса

Илья Шипицин November 15, 2018 09:22AM

Re: Пролагивание коннектов при проверке синтаксиса

Maxim Dounin November 15, 2018 08:56AM

Re: Пролагивание коннектов при проверке синтаксиса

kpoxa November 15, 2018 09:18AM

Re: Пролагивание коннектов при проверке синтаксиса

Валентин Бартенев November 13, 2018 02:48PM

Re: Пролагивание коннектов при проверке синтаксиса

Илья Шипицин November 13, 2018 02:54PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 93
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