proxy_tcp_nodelay
Директива `proxy_tcp_nodelay` включает или отключает опцию TCP_NODELAY для прокси в модуле NGINX SRT, управляя задержкой пакетов.
Описание
Директива 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;
}
}Убедитесь, что включение этой опции не окажет негативного влияния на общую сетевую пропускную способность вашего приложения.
При настройке этой директивы учитывайте конкретный сценарий использования: необходимость низкой задержки связи или требования к высокой пропускной способности.