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)。