fastcgi_send_lowat

Директива `fastcgi_send_lowat` задаёт ограничение на объём данных, отправляемых NGINX на FastCGI-сервер, прежде чем операции отправки можно будет считать блокирующими. — NGINX HTTP Core

fastcgi_send_lowat
httpserverlocation
Синтаксисfastcgi_send_lowat number;
По умолчаниюnone
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументы1

Описание

Директива `fastcgi_send_lowat` используется для оптимизации отправки данных из NGINX на FastCGI-серверы путём указания порога отправки данных. Если суммарное количество байтов, ожидающих отправки, остаётся ниже этого порога, процесс может отправлять больше данных без блокировки, что обеспечивает лучшую производительность, особенно при высокой нагрузке. Директива полезна в сценариях, где важна низкая задержка, например в веб‑приложениях, которые полагаются на частые небольшие ответы от FastCGI‑бэкенда. Параметр директивы `fastcgi_send_lowat` — одно целое число, обозначающее количество байтов. Когда это значение задано, если объём данных, поставленных в очередь на отправку на FastCGI‑сервер, превысит этот порог, NGINX начнёт блокировать или ограничивать дальнейшие операции отправки. Это позволяет соединению оставаться эффективным, обеспечивая оптимальное использование сетевых ресурсов без перегрузки сервера. Настройка этого значения особенно полезна с учётом потребностей приложения и характеристик производительности бэкенда.

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

location /api {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_send_lowat 16384;
}

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

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