netcall_timeout

Директива netcall_timeout задаёт максимальное время ожидания сетевого вызова в модуле NGINX RTMP.

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

Описание

Директива netcall_timeout используется в контексте модуля NGINX RTMP для задания периода ожидания сетевых вызовов, связанных с операциями потоковой передачи. При обработке потока может потребоваться установление соединений с клиентами или источниками медиа, что подразумевает отправку данных по сети. Если эти операции выполняются дольше, чем указанное значение таймаута, NGINX прервёт операцию, чтобы предотвратить зависание или бесконечное ожидание.

Эта директива принимает один аргумент — продолжительность таймаута в миллисекундах. Она позволяет администраторам вводить более жёсткие ограничения на отзывчивость сети, гарантируя, что если медиазапрос или push от RTMP-клиента не ответят в отведённый срок, сервер разорвёт это соединение. Это особенно важно в средах потоковой передачи в реальном времени, где задержки могут существенно повлиять на опыт пользователя и общую производительность системы.

Правильная настройка директивы netcall_timeout может помочь повысить надёжность и доступность сервисов, предоставляемых NGINX, особенно в периоды высокой сетевой нагрузки или при работе в ненадёжных сетевых условиях. Крайне важно найти баланс между слишком коротким таймаутом, который может приводить к ложным разрывам легитимных соединений, и слишком длинным таймаутом, который может вызывать задержки и недовольство пользователей.

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

rtmp {
    server {
        listen 1935;
        application myapp {
            live on;
            netcall_timeout 3000;
        }
    }
}

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

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

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