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;
⚠
设置过大的缓冲区大小可能会浪费内存并导致内存管理效率低下。
⚠
如果响应较大且需要超过指定的缓冲区数量,减少缓冲区数量可能会在高负载下引发性能问题。