Re: Отказ в обслуживании на определенном порту.
psevdokot
nginx-forum at nginx.us
Tue Apr 2 09:03:56 UTC 2013
Спасибо за совет, будем пробовать.
Maxim Dounin Wrote:
-------------------------------------------------------
> Hello!
>
> On Mon, Apr 01, 2013 at 04:13:20AM -0400, vstaf wrote:
>
> > Коллеги, надеюсь на помощь в решении периодически возникающей
> проблемы.
> >
> > Суть:
> >
> > Есть nginx, обслуживающий 1 домен на 5 портах + SSL. Периодически
> (раз в
> > несколько недель) возникает ситуация, что при попытке коннекта на
> > определенный порт (назовем его "Х") не проходят даже syn - ack.
> Обычно это
> > возникает при цифре 6к syn-запросов в секунду к серверу на
> пресловутый порт
> > "Х". На других портах nginx работает нормально и без проблем
> выполняет все
> > свои функции.
>
> [...]
>
> > Понимаю, что по сути сам nginx тут не при чем, но хотелось бы понять
> > направление куда копать. Экспериментировал с разными параметрами
> ядра -
> > профита так и не получил. Когда количество синов в секунду падает
> (до
> > 1-1.5к) - все приходит в норму.
>
> Начать имеет смысл с простого - посмотреть на размеры listen queue
> и количество соединений в ней (смотреть "ss -nlt"). В
> большинстве linux'ов, насколько я понимаю, по умолчанию
> net.ipv4.tcp_abort_on_overflow стоит в 0, и при переполнении
> listen queue syn-пакеты просто тихо дропаются на пол.
>
> По умолчанию на linux'е nginx использует listen queue 511, для 6k
> соединений в секунду - это может быть мало, особенно если машина
> при этом нагружена. Тюнить - с помощью парметра backlog=
> директивы listen, nginx.org/r/listen.
>
> --
> Maxim Dounin
> http://nginx.org/en/donation.html
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,237998,238014#msg-238014
Подробная информация о списке рассылки nginx-ru