proxy_tcp_nodelay

Директива `proxy_tcp_nodelay` включает или отключает опцию TCP_NODELAY для прокси в модуле NGINX SRT, управляя задержкой пакетов.

Синтаксисproxy_tcp_nodelay on | off;
По умолчаниюoff
Контекст
Аргументыflag

Описание

Директива proxy_tcp_nodelay позволяет задать опцию TCP_NODELAY для TCP-соединений, устанавливаемых прокси-серверами NGINX, использующими модуль SRT. Когда эта опция включена, она отключает Nagle's algorithm, который объединяет маленькие пакеты и отправляет их вместе, чтобы повысить эффективность сети. Отключение Nagle's algorithm может повысить производительность в сценариях, где низкая задержка важнее эффективности пропускной способности, например в приложениях для потоковой передачи аудио или видео в реальном времени. Это может привести к более быстрой передаче пакетов, когда они готовы к отправке, без ожидания накопления дополнительных данных для формирования больших пакетов.

Когда вы устанавливаете proxy_tcp_nodelay в значение on, это настраивает стек TCP на немедленную отправку пакетов, даже если размер сегмента меньше Maximum Segment Size (MSS). И напротив, установка в off позволит использовать поведение системы по умолчанию, которое может включать задержки для агрегации пакетов. В результате выбор включения или отключения этой опции может существенно повлиять на задержку и общую производительность системы, особенно в сценариях передачи данных в реальном времени. Важно тщательно оценить требования сети вашего приложения к производительности перед принятием решения о включении этой директивы.

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

srt {
    server {
        listen 4321;
        proxy_tcp_nodelay on;
        proxy_pass tcp://127.0.0.1:5678;
    }
}

Убедитесь, что включение этой опции не окажет негативного влияния на общую сетевую пропускную способность вашего приложения.

При настройке этой директивы учитывайте конкретный сценарий использования: необходимость низкой задержки связи или требования к высокой пропускной способности.

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