in_buf_size
指令 `in_buf_size` 指定 NGINX SRT 模块的输入缓冲区大小,影响从 SRT 流接收数据。
Nginx SRT Module
语法in_buf_size size;
默认值8192;
上下文
参数1
说明
指令 in_buf_size 定义了在 NGINX 的 SRT 模块中通过 SRT (Secure Reliable Transport) 连接接收数据时使用的输入缓冲区大小。此设置对于在数据流传输期间优化性能和有效管理内存至关重要。通过配置 in_buf_size,您可以控制从传入的 SRT 流一次性读取的数据量,这会根据应用负载影响延迟和吞吐量。
将输入缓冲区设置得较大可以降低 NGINX 工作进程与 SRT 库之间的上下文切换频率,这对高吞吐量场景有利。相反,如果设置过大,可能导致内存使用增加;在低传输速率下,如果缓冲区很少被清空,还可能带来延迟问题。在确定该指令的合适值时,应考虑整体网络环境和所传输数据的特性。
由于该指令作为 SRT 模块核心配置的一部分实现,可在配置文件的 srt 和 server 块中使用,便于针对具体需求进行灵活配置。
配置示例
srt {
server {
listen 4321;
in_buf_size 16384;
proxy_pass tcp://127.0.0.1:5678;
}
}⚠
如果传入的数据超过缓冲区大小,将 in_buf_size 设置得过小可能会导致丢包。
⚠
在增大 in_buf_size 时,请记得考虑服务器的整体内存限制。
⚠
调整此值可能需要重新校准其他相关的 SRT 缓冲区设置以获得最佳性能。