drop_idle_publisher
Директива `drop_idle_publisher` позволяет NGINX отключать неактивных издателей от RTMP-сервера по истечении заданного периода ожидания.
Описание
Директива drop_idle_publisher в модуле NGINX RTMP предназначена для эффективного управления RTMP-сессиями публикации, в частности для контроля времени жизни подключений издателей. Эта директива принимает один параметр, задающий период времени в миллисекундах, в течение которого издатель должен оставаться активным; если в течение этого периода от издателя не поступает активности, соединение будет завершено. Это важно для освобождения ресурсов сервера, которые могут быть заняты неактивными издателями, что позволяет улучшить масштабируемость и управление ресурсами в средах стриминга.
Поведение этой директивы особенно полезно в сценариях, где несколько клиентов публикуют потоки, например при прямых трансляциях или трансляциях событий. Установив эту директиву, администраторы сервера могут гарантировать, что неактивные сессии не будут висеть бесконечно, тем самым оптимизируя общую производительность службы стриминга. В идеале администраторы должны учитывать типичные шаблоны использования своих вещателей при выборе подходящего значения таймаута на основе ожидаемых взаимодействий с RTMP-сервером.
При настройке этой директивы важно найти баланс между слишком быстрым завершением неактивных потоков, что может нарушить легитимное использование, и оставлением их открытыми слишком надолго, что может привести к лишнему расходу ресурсов сервера. Эффективно используемая, эта директива помогает поддерживать более чистую и эффективную среду сервера как для издателей, так и для подписчиков, обеспечивая разумное использование ресурсов сервера и его отзывчивость к активным потребностям трансляции.
Пример конфига
rtmp {
server {
listen 1935;
application live {
live on;
drop_idle_publisher 60000; # drop publishers after 60 seconds of inactivity
}
}
}Убедитесь, что заданное значение времени не мешает корректной работе вещания.
Внимательно контролируйте влияние этой директивы, чтобы не допустить отключения пользователей, у которых могут быть короткие периоды неактивности.
Эта директива применяется только к соединениям издателя; она не влияет на соединения подписчика.