keepalive_min_timeout
Задаёт минимальное время ожидания для keep-alive соединений между NGINX и клиентами. — NGINX HTTP Core
Описание
Директива `keepalive_min_timeout` задаёт минимальную продолжительность таймаута для keep-alive соединений. Это значение критично, так как определяет, как долго неактивное соединение может оставаться открытым до того, как NGINX его закроет. По умолчанию таймаут keep-alive установлен в 75 секунд, как указано в директиве `keepalive_timeout`, но он может быть больше для сетей с высокой задержкой или при работе с медленными клиентами. Установка `keepalive_min_timeout` задаёт ожидаемый минимальный таймаут, давая некоторый контроль над тем, насколько агрессивно будут завершаться неактивные соединения. Эта директива принимает один аргумент, определяющий минимальную продолжительность таймаута в секундах. Она особенно полезна для оптимизации производительности сервера при высокой нагрузке, позволяя сбалансировать необходимость долгоживущих соединений и потребность оперативно освобождать ресурсы. Учтите, что слишком низкое значение `keepalive_min_timeout` может привести к обрыву соединений и возможному увеличению задержки для последующих запросов от того же клиента, поэтому эта настройка является критически важной для веб-приложений, использующих постоянные соединения. Эта директива может быть определена в контекстах `http`, `server` или `location`, что даёт гибкость для применения различных настроек таймаута keep-alive в зависимости от потребностей вашего приложения. При правильной конфигурации вы сможете обеспечить эффективную обработку TCP-соединений сервером без лишней нагрузки из-за чрезмерного количества простаивающих соединений.
Пример конфига
keepalive_min_timeout 10s;
Установка слишком низкого значения может привести к преждевременному закрытию подключений, что ухудшит опыт пользователя.
Эта директива может переопределить настройки времени ожидания keepalive по умолчанию; при необходимости убедитесь, что она настроена вместе с keepalive_timeout.