idle_streams
Директива 'idle_streams' в модуле NGINX RTMP удерживает поток в состоянии неактивности в течение заданного периода времени, после чего автоматически закрывает его.
Описание
Директива 'idle_streams', если она задана, позволяет администраторам указать длительность, в течение которой поток может оставаться неактивным, прежде чем он будет считаться простаивающим. Как только поток остаётся неактивным в течение указанного периода, NGINX автоматически завершит поток, чтобы сэкономить ресурсы. Это особенно полезно в сценариях прямой трансляции, когда поддержание открытых, но неактивных соединений может привести к ненужному расходованию ресурсов.
Параметром этой директивы является значение времени, обычно в миллисекундах. Указав подходящее значение таймаута, вы можете контролировать, как долго сервер будет ждать, прежде чем решить, что поток стал простаivaющим. Эта директива особенно важна в сценариях с одновременными потоками, так как она помогает сократить использование неиспользуемых ресурсов и обеспечивает лучшее управление активными потоками. Если эта директива не настроена, сервер может удерживать неактивные потоки дольше, чем необходимо, что потенциально может повлиять на производительность активных потоков и других сервисов.
Настройка директивы 'idle_streams' должна учитывать ожидаемую активность ваших потоков. В случае прямой трансляции может быть уместен более высокий таймаут, тогда как в других случаях, когда соединения часто устанавливаются и разрываются (например, на сервере, обрабатывающем разнообразные запросы), может потребоваться более низкий таймаут, чтобы минимизировать задержки и использование ресурсов.
Пример конфига
rtmp {
server {
application live {
live on;
idle_streams 30000; # 30 seconds
}
}
}Если значение 'idle_streams' установлено слишком низко, у активных пользователей соединения могут быть закрыты преждевременно.
Убедитесь, что логика вашего приложения учитывает закрытие потоков из-за простоя; в противном случае пользователи могут столкнуться с неожиданными разрывами соединения.