ping_timeout

Директива `ping_timeout` задаёт период таймаута для обнаружения неактивных подключений клиентов в модуле NGINX RTMP.

Синтаксисping_timeout timeout;
По умолчаниюnone
Контекст
Аргументы1

Описание

Директива ping_timeout имеет ключевое значение при работе приложений для потоковой трансляции в реальном времени, использующих модуль NGINX RTMP. Эта директива задаёт период таймаута в миллисекундах, в течение которого сервер будет ждать получения запроса 'ping' от клиента. Если этот таймаут превышен и ping не был получен, сервер считает клиента неактивным и может отключить его. Это особенно важно для эффективного использования ресурсов сервера и предотвращения того, чтобы неактивные клиенты оставались подключёнными бесконечно, что могло бы привести к истощению ресурсов.

При настройке ping_timeout администратору необходимо определить, как долго сервер должен ожидать до принятия решения о разрыве соединения. Значение ping_timeout должно учитывать типичные сетевые условия и поведение пользователей, чтобы достичь баланса между поддержанием соединений для реальных пользователей и освобождением ресурсов от неактивных. Слишком короткий таймаут может преждевременно отключать клиентов, просто испытывающих сетевую задержку, тогда как слишком длинный таймаут может необоснованно резервировать ресурсы для неактивных клиентов.

Механизм ping работает в связке с реализацией RTMP на сервере, которая часто отправляет периодические ping-запросы клиентам для проверки их активности. Взаимодействие между ping_timeout и реализацией на стороне клиента определяет эффективность этой директивы. Если клиенты не соблюдают ожидаемое поведение по отправке ping, настройки сервера могут потребовать корректировки для оптимизации производительности и качества пользования.

Пример конфига

rtmp {
    server {
        listen 1935;
        application live {
            live on;
            ping_timeout 15000;
        }
    }
}

Установка слишком малого значения таймаута может привести к неожиданному отключению легитимных клиентов.

Убедитесь, что клиентские приложения разработаны так, чтобы регулярно отправлять пинги, чтобы избежать ситуаций преждевременного истечения времени ожидания.

← Ко всем директивам