proxy_downstream_buffer

Директива proxy_downstream_buffer контролирует буферизацию данных, получаемых от upstream-серверов в модуле NGINX stream. — NGINX Stream Core

proxy_downstream_buffer
streamstream server
Синтаксисproxy_downstream_buffer size;
По умолчаниюnone
Контекстstream, stream server
МодульNGINX Stream Core
Аргументы1

Описание

Директива `proxy_downstream_buffer` настраивает поведение буферизации ответов, получаемых от upstream‑серверов в контексте TCP/UDP stream. Указывая размер в качестве аргумента, эта директива определяет, какое количество данных удерживается в памяти до отправки downstream клиенту. Если размер установлен слишком малым, клиенты могут испытывать прерывания при доставке данных, поскольку NGINX будет вынужден ждать поступления дополнительных данных от upstream, прежде чем отправить их. Напротив, слишком большой размер буфера может привести к чрезмерному потреблению памяти, повышенному использованию ресурсов и другим проблемам с производительностью. Эта директива особенно полезна в сценариях с высоким потоком данных или непредсказуемой частотой подключений, так как может помочь стабилизировать доставку клиентам при всплесках трафика. Поскольку `proxy_downstream_buffer` применяется в контексте `stream` и `stream server`, она позволяет тонко настраивать распределение ресурсов для каждого определённого stream. Эффективность директивы может зависеть от других настроек, связанных со скоростями передачи, таймаутами и ограничениями памяти, поэтому изменения следует вносить обдуманно, чтобы избежать нежелательных побочных эффектов в периоды пиковых нагрузок.

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

stream {
    upstream my_upstream {
        server 192.168.1.1:1234;
    }
    server {
        listen 1234;
        proxy_pass my_upstream;
        proxy_downstream_buffer 64k;
    }
}

Установка слишком большого размера буфера может привести к увеличению потребления памяти.

Если размер буфера слишком мал, это может вызвать задержки или перебои при доставке клиенту.

Убедитесь, что директива используется в правильном контексте (stream или stream server).