recv_buf
recv_buf 指令在 NGINX 中设置用于 SRT 连接的接收缓冲区大小。
Nginx SRT Module
语法recv_buf size;
默认值8192 buffers
上下文
参数1
说明
NGINX SRT 模块中的 recv_buf 指令指定用于 SRT 连接上接收传入数据的接收缓冲区大小。该指令允许服务器为接收来自 SRT 流的数据分配特定数量的内存。大小以字节为单位定义,并直接影响在传输过程中服务器如何缓存和处理流数据。
当缓冲区对于传入的数据速率过小时,可能导致丢包或性能下降,因为服务器无法足够快地处理传入数据。相反,设置缓冲区过大可能导致内存使用效率低下。对该值进行谨慎调整可以优化吞吐量,尤其是在涉及通过 SRT 进行大数据传输的高性能场景中。
在使用 SRT 进行视频流或数据密集型应用的场景中,recv_buf 指令尤为有用,它可以更好地控制数据流和资源管理。与任何调优参数一样,该值应根据具体用例和所部署应用的预期流量特性进行设置。
配置示例
srt {
server {
listen 4321;
recv_buf 16384;
proxy_pass tcp://127.0.0.1:5678;
}
}⚠
将缓冲区大小设置得过低可能会在高吞吐情况下导致丢包。
⚠
如果将缓冲区大小设置得过高,可能会导致内存消耗增加,从而影响服务器性能。
⚠
recv_buf 指令必须在 srt 或 server 块中使用,否则不会生效。