unzstd_buffers

配置用于在 NGINX 中解压缩 zstd 编码响应的缓冲区数量和大小。

语法unzstd_buffers number size;
默认值unzstd_buffers 32 4k | 16 8k;
上下文http, server, location
参数2

说明

unzstd_buffers 指令指定 NGINX 服务器在为不支持 Zstandard (zstd) 的客户端解压缩使用 Zstandard 编码的响应时将使用多少个缓冲区以及每个缓冲区的大小。该指令在处理压缩响应数据时对于优化内存使用和性能特别重要,因为它决定了解压过程中一次可以处理的数据量。

当 NGINX 服务器接收到带有 'Content-Encoding: zstd' 头的响应,并且配置为解压此类响应时,unzstd_buffers 指令将定义内存缓冲区的分配。这些缓冲区对于在将数据传送给客户端之前临时存储正在处理的解压数据至关重要。用户可以在 http、server 和 location 上下文中配置此指令,从而根据服务器需求提供灵活性。

该指令的参数包括两个值:第一个值指定缓冲区数量,第二个值表示每个缓冲区的大小。例如,设置 unzstd_buffers 32 4k; 将分配 32 个大小为 4k 的缓冲区。应根据服务器性能和流量特性谨慎设置该指令,因为不正确的设置可能导致内存利用率低下或无法处理大型响应。

配置示例

server {
    listen 127.0.0.1:8080;
    server_name localhost;

    location / {
        unzstd on;
        unzstd_buffers 32 4k;
        proxy_pass http://foo.com;
    }
}

设置过少的缓冲区可能会导致大型响应的解压缩错误。

使用比可用内存更大的缓冲区大小可能会导致性能下降。

如果未启用 unzstd 指令,则该指令不会生效。

← 返回所有指令