Re: Что я такое недотюнил? (nginx при >6K rps)

bir nginx-forum на nginx.us
Ср Окт 20 12:59:26 MSD 2010


Дополнительная информация... Может, на
какую идею натолкнет.

По tcpdump-у на предмет исходящих
соединений видно следующее (во время
"тормозов", под 10 тыс. rps).

1. Первый SYN - улетает.
2. В ответ прилетает SYN+ACK, как положено.
Практически мгновенно, в пределах
одной миллисекунды.
3. А вот ответный ACK уезжает с изрядной
задержкой, до 500 миллисекунд. За это
время у меня успевает сработать
proxy_connect_timeout, который по условиям задачи
весьма жесткий (70 мсек).
4. После этого следующий пакетик с
исходящими данными (собственно
запросом) - улетает опять-таки почти
мгновенно, в пределах 1-2 мсек, и весь
дальнейший диалог происходит с
минимальными задержками.

То есть, тормоза именно в п. 3, когда
отсылается первый ACK после получения
SYN+ACK.

Когда тормозов нет (нагружаем 6 тыс. rps) -
в п. 3 видим приятную картиру, ответный
ACK улетает мгновенно, в пределах одной
мсек.

Подозреваю, что ядро блокируется где-то
в районе списков pcb, или как их там
зовут...

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




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