Мы пытаемся настроить приложение, которое принимает сообщения через TCP, а также использует TCP для некоторых внутренних сообщений. При тестировании нагрузки мы заметили, что время отклика значительно ухудшается (а затем полностью прекращается), так как в систему поступают больше одновременных запросов. За это время мы видим много TCP-соединений в состоянии TIME_WAIT
, и кто-то предложил снизить переменную среды TIME_WAIT
от нее по умолчанию 60 секунд до 30.
Из то, что я понимаю, параметр TIME_WAIT
по существу устанавливает время, когда ресурс TCP становится доступным для системы снова после того, как соединение замкнутый.
Я не "сетевой парень" и мало знаю об этих вещах. Мне нужно много чего в этом связанном сообщении, но немного "ошалело".
- Думаю, я понимаю, почему значение
TIME_WAIT
не может быть установлено на 0, но можно ли его безопасно установить в 5? Что насчет 10? Что определяет "безопасную" настройку для этого значения? - Почему значение по умолчанию для этого значения 60? Я предполагаю, что люди намного умнее меня имели веские основания для выбора этого как разумного дефолта.
- Что еще я должен знать о потенциальных рисках и преимуществах переопределения этой ценности?