scgi_buffering

在 NGINX 中,'scgi_buffering' 指令用于启用或禁用来自 SCGI 服务器的响应缓冲。 — NGINX HTTP Core

scgi_buffering
httpserverlocation
语法scgi_buffering on | off;
默认值on
上下文http, server, location
模块NGINX HTTP Core
参数flag

说明

'scgi_buffering' 指令控制 NGINX 在将来自 SCGI (Simple Common Gateway Interface) 服务器的响应发送给客户端之前是否进行缓冲。默认情况下,NGINX 会对这些响应进行缓冲,这可以通过一次性发送完整的响应数据来提高性能。如果启用了缓冲且响应大于配置的缓冲区大小,NGINX 会在超过该限制时将数据写入临时文件。相反,如果禁用缓冲,NGINX 会在从 SCGI 服务器接收到数据时立即将响应流式传输给客户端,这对于需要低延迟且响应较长或流式传输的应用是有利的。该指令接受一个标志参数,其值可以是 'on' 或 'off'。

配置示例

server {
    location /app {
        scgi_pass 127.0.0.1:9000;
        scgi_buffering off;
    }
}

禁用缓冲可能会在高负载下导致性能下降,因为流式响应可能不如缓冲的响应高效。

当禁用缓冲时,确保 SCGI 服务器能够处理 NGINX 发送的即时响应。