subrequest_output_buffer_size

Задает размер выходного буфера для вывода субзапросов в NGINX. — NGINX HTTP Core

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

Описание

Директива `subrequest_output_buffer_size` в NGINX управляет максимальным объёмом данных, которые могут быть буферизованы для вывода субзапросов. Субзапросы инициируются для получения дополнительных данных или ресурсов во время обработки запроса, например при включении другого файла или выполнении другой location на сервере. Указав эту директиву, администратор может тонко настроить использование памяти в зависимости от ожидаемых размеров ответов субзапросов, что может улучшить производительность под нагрузкой. Значение, заданное для директивы, определяет, сколько данных может храниться в буфере для субзапросов. Если вывод, сгенерированный субзапросом, превышает это значение, это приведёт к использованию дополнительных механизмов буферизации или к непосредственной отправке вывода, что может повлиять на производительность и потребление памяти. Подходящая настройка зависит от ожидаемых сценариев использования субзапросов и конфигурации памяти сервера.

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

server {
    location /example {
        subrequest_output_buffer_size 16k;
    }
}

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

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