push_stream_subscriber_connection_ttl
Задает время жизни подключений подписчиков в модуле NGINX Push Stream.
Описание
The push_stream_subscriber_connection_ttl директива настраивает продолжительность, в течение которой подключение подписчика остаётся активным без входящей активности в контексте стриминга. Это важно для управления ресурсами сервера, так как предотвращает бесконечное удержание ненужных подключений. Указанное значение задаёт период времени (в секундах), по истечении которого простые соединения будут завершены. Реализация механизма времени жизни (TTL) обеспечивает эффективную очистку неактивных подписчиков, освобождая ресурсы для активных пользователей.
При настройке этой директивы её можно указать в контекстах http, server или location. Такая гибкость позволяет точно контролировать, как долго соединения остаются активными в зависимости от сценариев использования разных конечных точек. Тем не менее фактический таймаут соединений всё ещё может зависеть от других факторов, таких как настройки на стороне клиента или доступность ресурсов сервера, поэтому важно отслеживать, как это взаимодействует с общей архитектурой системы.
Короткий TTL может помочь снизить потребление ресурсов сервера, но привести к более частым отключениям пользователей, которые временно неактивны. Напротив, более длинный TTL может обеспечить лучший опыт для пользователей, которые отвечают с задержкой, но за счёт большей загрузки ресурсов. На практике администраторам следует балансировать эти соображения на основе ожидаемых шаблонов использования стримингового приложения и возможностей сервера.
Пример конфига
http {
push_stream_subscriber_connection_ttl 30;
server {
location /sub {
push_stream_subscriber;
push_stream_channels_path $arg_id;
}
}
}Если не задать эту директиву, это может привести к избыточным простаивающим соединениям, потребляющим ресурсы сервера.
Слишком низкие значения могут раздражать пользователей, испытывающих временные перебои в подключении.