recv_udp_buf
recv_udp_buf 指令为 NGINX 中的 SRT 连接设置 UDP 接收缓冲区的大小。
Nginx SRT Module
语法recv_udp_buf size;
默认值8192
上下文
参数1
说明
recv_udp_buf 指令在 Secure Reliable Transport (SRT) 连接上下文中配置用于接收入站 UDP 数据包的缓冲区大小。通过指定缓冲区大小,用户可以优化 NGINX 服务器在接收 SRT 流时一次可处理的数据量,这对确保平稳性能和最低延迟至关重要,尤其是在高吞吐量的视频传输场景中。
该指令在使用 SRT 进行实时视频传输或其他对时间敏感的数据传输的环境中特别关键。较大的缓冲区可以帮助吸收数据传输的峰值并防止丢包,而较小的缓冲区在数据流可预测时可能减少内存使用。此指令接受的参数以字节为单位定义,用户在配置时应仔细考虑可用系统内存和预期工作负载。
由于该指令会与底层网络栈交互,配置不当可能导致性能问题。因此,建议在应用更改后进行全面监控,以确保缓冲区大小与预期的网络条件和流量模式相匹配。根据部署后观察到的性能指标和错误日志,可能需要进行调整。
配置示例
srt {
server {
listen 4321;
recv_udp_buf 16384;
proxy_pass tcp://127.0.0.1:5678;
}
}⚠
将缓冲区大小设置得过大会导致资源受限的服务器出现过高的内存使用。
⚠
将缓冲区大小设置得过小可能在高流量情况下导致丢包。
⚠
确保缓冲区大小与整个系统的网络设置兼容。