fastcgi_buffer_size

Задает размер буфера для чтения первой части ответа FastCGI. — NGINX HTTP Core

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

Описание

Директива `fastcgi_buffer_size` задаёт размер буфера, используемого для чтения заголовка ответов FastCGI от бэкенд‑сервера. Когда NGINX обменивается данными с приложением FastCGI, он буферизует заголовок ответа, чтобы корректно обработать его перед передачей тела. Правильно подобранный размер буфера может повысить производительность вашей конфигурации NGINX, гарантируя, что заголовки помещаются в буфер без необходимости нескольких операций чтения, что снижает задержки. Размер буфера определяется в контексте блоков `http`, `server` или `location`, что позволяет задавать его с точностью до уровня конфигурации. Директива принимает аргумент со значением размера, например `16k` или `32`. Если буфер недостаточно велик для хранения данных заголовка, NGINX может переключиться на отдельный буфер для тела, что может привести к увеличению времени ответа или использованию ресурсов. Обеспечение соответствия `fastcgi_buffer_size` ожидаемым размерам ответов ваших приложений FastCGI имеет решающее значение для оптимальной производительности.

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

location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_buffer_size 32k;
    include fastcgi_params;
}

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

Изменение размера буфера без тестирования может негативно повлиять на производительность; всегда проверяйте изменения с помощью тестов производительности.