Что такое проблема TIME_WAIT-сокетов в Linux и как бэкенд под высокой нагрузкой может полностью исчерпать эфемерные порты?

TIME_WAIT удерживает состояние закрытого TCP-соединения для корректного завершения и защиты от старых сегментов. Частое создание исходящих соединений к одному адресу может исчерпать доступные пары портов.

Короткий ответ

Что ответить на собеседовании

TIME_WAIT удерживает состояние закрытого TCP-соединения для корректного завершения и защиты от старых сегментов. Частое создание исходящих соединений к одному адресу может исчерпать доступные пары портов.

Подробный разбор

Ответ с пояснениями

TIME_WAIT удерживает состояние закрытого TCP-соединения для корректного завершения и защиты от старых сегментов. Частое создание исходящих соединений к одному адресу может исчерпать доступные пары портов.

Проверьте число соединений по состояниям, диапазон локальных портов, направления и ограничения NAT. Основное исправление — переиспользовать соединения, применять ограниченный pool и уменьшить churn. Большой TIME_WAIT сам по себе не является утечкой файловых дескрипторов. Не отключайте защитные механизмы вслепую: доступность портов зависит от полного набора адресов/портов и поведения сети.

Источник: man7.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее