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