Дополнительная информация... Может, на какую идею натолкнет.
По 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, или как их там зовут...