Re: Feature request: limit conn не хватает опции сброса соединения

INF[SZ] nginx-forum на nginx.us
Чт Дек 1 13:53:06 UTC 2011


Nefer Wrote:
> Я, возможно, что то упустил,
> но каким образом кипаливы
> способны отожрать
> conntrack? Они все сидят в
> рамках одного TCP
> соединения!
> 

Например так:
Вот настройки Nginx касающиеся keepalive

 keepalive_timeout  45 60;
 keepalive_requests 10000;

на location / стоят ограничения

limit_conn addr 10;

Смотрим кол-во conntrack 

sysctl -a|grep net.ipv4.netfilter.ip_conntrack_count
net.ipv4.netfilter.ip_conntrack_count = 678

Теперь на клиентской машине запускаем 

ab -n 1000000 -c 5 http://example.com/

Смотрим кол-во conntrack 

sysctl -a|grep net.ipv4.netfilter.ip_conntrack_count

net.ipv4.netfilter.ip_conntrack_count = 65535

В dmesg

kernel: ip_conntrack: table full, dropping packet.

Cистема стала не управляема, ни один
клиент не может соединиться ни с одним
сервисом на машине. До тех пор пока
сессии по таймаутам не отвалятся.

Хотелось бы избежать данной ситуации
средствами приложения задав суммарное
максимальное количество одновременных
соединений, а также максимальное
количество одновременных соединений
для выбраных location, без проблем
описанных Валентином Бартеневым

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,219406,219427#msg-219427



Подробная информация о списке рассылки nginx-ru