Nginx too many writing connections

Stan stan.sm at gmail.com
Sat Jun 2 12:27:48 MSD 2007


Igor Sysoev <is at ...> writes:

> 
> On Sat, Jun 02, 2007 at 07:05:04AM +0000, Stan wrote:
> 
> > Наш сервер повадились атаковать. Во время атаки
> число writing connections
> > доходит до лимита (15К), в результате nginx ругается на то,
> что слишком много
> > коннектов и отвечает не на все запросы.
> > Вопрос в следующем: как атакующие добиваются этого
> (большого числа открытых
> > writing коннектов) и как с этим бороться ?
> 
> Какая ОС ?
> 
> Нужно увеличивать worker_connection, число файлов, сокетов,
> сетевых буферов.
> Нужно уменьшать таймауты, размер буфера отправки.
> Ещё можно поставить
> 
> reset_timedout_connection  on;
> 

ОС: Linux, kernel 2.6.8
В ядре вроде всё, что можно, поуменьшал:

net.ipv4.tcp_synack_retries = 1                                                
                                                                      
net.ipv4.tcp_syncookies = 1                                                    
                                                                      
net.ipv4.tcp_fin_timeout=25                                                    
                                                                      
net.ipv4.tcp_keepalive_time=1200

worker_connections сейчас стоит 8192.

Вообще хочется для атакующих сразу DROP в iptables делать, чтобы лишние ресурсы
не расходывали. Однако, почему-то limit_zone_module не видит этого множества
установленных коннектов и не блокирует их. Я так понимаю, эти запросы повисают
где-то до NGX_HTTP_PREACCESS_PHASE :-/






More information about the nginx-ru mailing list