in_buf_size
Директива `in_buf_size` задаёт размер входного буфера для модуля NGINX SRT, влияя на приём данных из SRT-потоков.
Описание
Директива in_buf_size определяет размер входного буфера, используемого при приёме данных по соединениям SRT (Secure Reliable Transport) в модуле NGINX SRT. Этот параметр имеет ключевое значение для оптимизации производительности и эффективного управления памятью при потоковой передаче данных. Настраивая in_buf_size, вы можете контролировать, сколько данных может быть прочитано за один раз из входящих SRT-потоков, что может влиять как на задержку, так и на пропускную способность в зависимости от нагрузки приложения.
Увеличение размера входного буфера может снизить частоту переключений контекста между рабочими процессами NGINX и библиотекой SRT, что выгодно в сценариях с высокой пропускной способностью. Напротив, чрезмерно большой буфер может привести к увеличению использования памяти и проблемам с задержкой, если буфер редко опорожняется из-за низкой скорости передачи данных. При выборе подходящего значения этой директивы важно учитывать общую сетевую среду и характер передаваемых данных.
Поскольку эта директива реализована в составе основной конфигурации модуля SRT, она применима внутри блоков srt и server в ваших файлах конфигурации, что обеспечивает гибкость для конкретных требований.
Пример конфига
srt {
server {
listen 4321;
in_buf_size 16384;
proxy_pass tcp://127.0.0.1:5678;
}
}Установка in_buf_size слишком малого значения может привести к потере пакетов, если входящие данные превышают размер буфера.
При увеличении in_buf_size не забудьте учитывать общие ограничения по памяти вашего сервера.
Корректировка этого значения может потребовать перекалибровки других связанных настроек буферов SRT для оптимальной производительности.