gzip_buffers

gzip_buffers 指令控制在 NGINX 中用于 gzip 压缩的缓冲区数量和大小。 — NGINX HTTP Core

gzip_buffers
httpserverlocation
语法gzip_buffers number size;
默认值32 4k;
上下文http, server, location
模块NGINX HTTP Core
参数2

说明

gzip_buffers 指令指定在 NGINX 发送的响应上使用 gzip 压缩时,为存储压缩数据而分配的缓冲区的数量和大小。该指令接受两个参数:第一个指定缓冲区的数量,第二个指定每个缓冲区的大小。例如,配置 `gzip_buffers 16 8k;` 表示将分配 16 个每个 8 千字节的缓冲区。 这些缓冲区用于在将压缩输出发送到客户端之前保存数据,优化这些值会显著影响性能,尤其是在负载较高时。选择更大的缓冲区大小可以减少对输出的写入次数,从而在提高吞吐量的同时增加内存使用;相反,较小的缓冲区可能导致更频繁的写入但降低内存占用。 需要注意的是,缓冲区的总大小还取决于分配的总内存,这可能受到系统设置或应用程序内存占用的限制。错误配置这些值可能导致内存使用效率低下或性能瓶颈,尤其是在处理大响应或高流量时。

配置示例

gzip on;
gzip_buffers 16 8k;

设置过大的缓冲区大小可能会浪费内存并导致内存管理效率低下。

如果响应较大且需要超过指定的缓冲区数量,减少缓冲区数量可能会在高负载下引发性能问题。