recv_buf

recv_buf 指令在 NGINX 中设置用于 SRT 连接的接收缓冲区大小。

语法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 块中使用,否则不会生效。

← 返回所有指令