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 在分多次读取响应时会导致额外开销。

在未经过测试的情况下调整缓冲区大小可能会对性能产生不利影响;务必对更改进行基准测试。