fastcgi_buffer_size
Задает размер буфера для чтения первой части ответа FastCGI. — NGINX HTTP Core
Описание
Директива `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 будет считывать ответ по частям.
Изменение размера буфера без тестирования может негативно повлиять на производительность; всегда проверяйте изменения с помощью тестов производительности.