kmp_flush_timeout
Директива `kmp_flush_timeout` задаёт время ожидания для сброса буферов Kaltura Media Protocol (KMP) при потоковой передаче.
Описание
Директива kmp_flush_timeout используется в модуле NGINX Kaltura Media Framework для задания периода ожидания при сбросе буферов в потоковых процессах, основанных на KMP. Когда поток KMP активен, сервер может потребоваться сбросить определённые данные, чтобы обеспечить плавную доставку медиапотока. Этот сброс критичен в сценариях прямых трансляций, где задержки и управление буферами напрямую влияют на восприятие зрителем.
Параметр этой директивы указывается в секундах и определяет, как долго сервер будет ждать завершения ожидающих операций по сбросу буфера до истечения таймаута. Если сброс не произойдёт в отведённое время, сервер может предпринять дополнительные действия, например прервать поток или вернуть клиенту сообщение об ошибке. Установка подходящего значения этого таймаута необходима для баланса между отзывчивостью и возможностями сервера потоковой передачи эффективно обрабатывать множественные запросы.
При настройке kmp_flush_timeout важно учитывать общую производительность сервера, сетевые условия и конкретные сценарии использования доставляемого медиа. Например, низкое значение таймаута может привести к частым прерываниям потока при высокой нагрузке или нестабильных сетевых условиях, тогда как очень большое значение может увеличить задержку в реагировании на прерывания воспроизведения или ошибки.
Пример конфига
kmp_flush_timeout 30s;
Установка слишком малого времени ожидания может привести к прерываниям потоковой передачи, особенно при высокой нагрузке.
Напротив, установка слишком большого времени ожидания может вызвать задержки в обработке ошибок при сбоях потоковой передачи.
Эта директива требует правильного размещения в контексте, чтобы работать как задумано; убедитесь, что она определена в правильном блоке конфигурации.