gzip_window
gzip_window 指令设置 NGINX 中 gzip 压缩的滑动窗口大小。 — NGINX HTTP Core
gzip_window
httpserverlocation
语法gzip_window size;
默认值16k
上下文http, server, location
模块NGINX HTTP Core
参数1
说明
gzip_window 指令在启用 NGINX 的 Gzip 压缩时,配置 zlib 压缩算法所使用的滑动窗口的最大大小。它指定在压缩响应时可以保留在内存中的输入数据量。较大的窗口大小可以通过在处理输出的每个字节时引用更多数据来提高压缩效率,从而获得更好的压缩比。然而,这也会增加 NGINX 工作进程的内存使用,在内存受限的环境中可能是不利的。 该指令接受单个参数,应以字节为单位指定,这意味着您可能需要提供不带任何后缀的数字值。设置此参数后,指令会启用指定的窗口大小用于 Gzip 压缩,从而提升通过 HTTP 传输内容的整体性能和效率。如果未配置,则会应用默认设置,根据被压缩内容的类型和大小,默认值可能无法充分发挥 Gzip 算法的潜力。 在实际操作中,用户在增大此值之前应仔细考虑服务器的内存能力,尤其是在高负载场景或处理大型响应时,因为过度分配可能导致内存耗尽和性能下降。
配置示例
gzip on;
gzip_window 32k;
location / {
gzip_types text/plain text/css application/json;
# any other configurations
}⚠
将窗口设置得非常大可能导致每个连接占用更多内存,进而耗尽可用内存。
⚠
并非所有客户端都支持不同级别的 gzip 压缩,因此在更改后测试客户端兼容性至关重要。