Ночь, пик 14 тысяч RPS, nginx перед апстримами внезапно дает 502 и рост connect latency с 2 до 1800 мс. CPU 31 процент, апстримы отвечают, ping чистый. Поверхностный диагноз про провайдера умер на первой команде: ss -tan state time-wait дало 28431 сокета, netstat -s показал рост TCPTimeWaitOverflow, а в /proc/net/sockstat использовано 31200 сокетов при iplocalportrange 32768 60999. Каждый короткий запрос без keepalive создавал новый исходящий коннект, proxy закрывал его первым и честно платил 60 секунд TIMEWAIT. Проверка ядра: sysctl net.ipv4.tcptwreuse net.ipv4.tcptimestamps net.ipv4.tcpmaxtwbuckets, ss -tan dst 10.250.0.15:8080, tcpdump -i any -nn -tttt host 10.250.0.15 and tcp port 8080. Выяснилось три вещи. tcptwreuse равен 1 только в host netns, а в контейнере proxy стоял 0. timestamps на части апстримов отключены, а без них reuse ядро не применит. Главное, до одного dst ip и порта уникальность определяется четверкой src ip, src port, dst ip, dst port, поэтому один исх...