fastcgi_busy_buffers_size

Директива `fastcgi_busy_buffers_size` задаёт размер занятых буферов, которые FastCGI использует для буферизации ответов от вышестоящего сервера. — NGINX HTTP Core

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

Описание

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

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

http {
    server {
        location /api {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_busy_buffers_size 16k;
            include fastcgi_params;
        }
    }
}

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

Конфликтующие настройки с `fastcgi_buffer_size` могут привести к неэффективному использованию памяти.

Отсутствие корректировки размера буфера в соответствии с типичной нагрузкой может привести к проблемам с производительностью.