scgi_buffer_size
定义用于读取来自 SCGI 服务器响应第一部分的缓冲区大小。 — NGINX HTTP Core
scgi_buffer_size
httpserverlocation
语法scgi_buffer_size size;
默认值4k
上下文http, server, location
模块NGINX HTTP Core
参数1
说明
NGINX 中的 `scgi_buffer_size` 指令对管理在进一步处理之前可以从 SCGI 服务器响应中缓冲多少数据至关重要。当 NGINX 与 SCGI 后端通信时,它期望响应以可管理的分块到达。通过指定 `scgi_buffer_size`,您可以控制为该响应初始部分分配的缓冲区,其中包括 SCGI 头部。有效管理该缓冲区大小可以大大影响应用的性能,尤其是在响应大小可变的情况下。 该指令接受一个参数,用于定义缓冲区的大小。如果服务器发送的响应超过该缓冲区大小,NGINX 将根据需要分配额外的缓冲区以容纳整个响应。重要的是要根据对应用产生的 SCGI 响应典型大小的了解来设置此值。缓冲区过小可能导致不必要的内存分配,而过大的缓冲区则可能浪费资源并降低性能。因此,根据实际使用模式调整此参数可以改善资源利用并提高性能稳定性。
配置示例
location /app {
scgi_pass 127.0.0.1:9000;
scgi_buffer_size 8k;
}⚠
将缓冲区大小设置得太小可能导致性能问题,因为会频繁进行内存分配。
⚠
如果将大小设置得过大,可能会浪费内存资源,尤其是在高负载情况下。
⚠
对该指令的更改可能在 NGINX 重新加载或重启之前不会生效,因此需要谨慎的部署实践。