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