proxy_tcp_nodelay
`proxy_tcp_nodelay` 指令在 NGINX SRT 模块中为代理启用或禁用 TCP_NODELAY 选项,从而控制数据包延迟。
Nginx SRT Module
语法proxy_tcp_nodelay on | off;
默认值off
上下文
参数flag
说明
proxy_tcp_nodelay 指令允许您为由 NGINX 代理服务器使用 SRT 模块建立的 TCP 连接设置 TCP_NODELAY 选项。当此选项启用时,它会禁用 Nagle's algorithm,该算法会将小数据包聚合后一起发送以提高网络效率。在延迟比带宽效率更为关键的场景(例如实时音频或视频流应用)中,禁用 Nagle's algorithm 可以提升性能,从而在数据包准备好发送时无需等待累积更多数据以形成更大的分段便可更快地传输。
当您将 proxy_tcp_nodelay 设置为 on 时,它会配置 TCP 堆栈立即发送数据包,即使段大小小于 Maximum Segment Size (MSS)。相反,将其设置为 off 则允许系统的默认行为,可能包括用于数据包聚合的延迟。因此,是否启用此选项会显著影响延迟和整体系统性能,尤其是在实时数据传输场景中。在决定启用该指令之前,务必仔细评估应用的网络性能需求。
配置示例
srt {
server {
listen 4321;
proxy_tcp_nodelay on;
proxy_pass tcp://127.0.0.1:5678;
}
}⚠
确保启用此选项不会对您的应用程序的整体网络吞吐量产生负面影响。
⚠
在配置此指令时,请注意低延迟通信与高吞吐量需求之间的具体使用场景。