proxy_downstream_buffer

proxy_downstream_buffer 指令控制 NGINX stream 模块中从 upstream 服务器接收的数据的缓冲。 — NGINX Stream Core

proxy_downstream_buffer
streamstream server
语法proxy_downstream_buffer size;
默认值none
上下文stream, stream server
模块NGINX Stream Core
参数1

说明

`proxy_downstream_buffer` 指令配置在 TCP/UDP 流上下文中从 upstream 服务器接收的响应的缓冲行为。通过将大小作为参数指定,该指令决定在将数据发送给下游客户端之前在内存中保留多少数据。如果大小设置过小,客户端在数据传输期间可能会遇到中断,因为 NGINX 必须等待从 upstream 接收到更多数据后才能发送出去。相反,缓冲区大小设置过大则可能消耗过多内存资源,可能会提高资源使用率并导致其他性能问题。\n\n该指令在数据流量高或连接速率不可预测的场景中特别有用,因为它可以在流量突增期间帮助稳定向客户端的传输。由于 `proxy_downstream_buffer` 在 `stream` 和 `stream server` 上下文中应用,它允许对每个定义的 stream 进行资源分配的精细调整。该指令的有效性会受到与速率、超时和内存限制相关的其他设置的影响,调整时应谨慎,以防在高峰负载期间产生意外的副作用。

配置示例

stream {
    upstream my_upstream {
        server 192.168.1.1:1234;
    }
    server {
        listen 1234;
        proxy_pass my_upstream;
        proxy_downstream_buffer 64k;
    }
}

将缓冲区大小设置得过大可能会导致内存使用量增加。

如果缓冲区大小过小,可能会导致客户端的传输延迟或中断。

请确保在正确的上下文中使用该指令(stream 或 stream server)。