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` 冲突的设置可能导致内存使用效率低下。

未根据典型负载调整缓冲区大小可能导致性能问题。