idle_streams
NGINX RTMP 模块中的 'idle_streams' 指令会在自动关闭流之前维持流的不活动状态一段指定的时间。
NGINX RTMP module
语法idle_streams time;
默认值none
上下文
参数1
说明
'idle_streams' 指令一旦设置,允许管理员定义流在被视为空闲之前可保持不活动的时长。一旦流在指定时长内处于不活动状态,NGINX 将自动终止该流以节省资源。这在直播场景中特别有用,因为保持打开但不活动的连接会导致不必要的资源消耗。
该指令的参数是一个时间值,通常以毫秒为单位。通过指定合适的超时时间,可以控制服务器在判断流为空闲之前等待的时长。该指令在并发流场景中尤为重要,因为它有助于减少未使用资源的占用并确保对活动流的更好管理。如果未配置此指令,服务器可能会比预期更长时间保留不活动的流,从而可能影响活动流和其他服务的性能。
'idle_streams' 指令的配置应考虑流的预期活动。在直播情况下,较高的超时时间可能更合适;而在其他情况下(例如在处理各种请求的服务器上频繁连接和断开),较低的超时时间可能更合适,以将延迟和资源使用降到最低。
配置示例
rtmp {
server {
application live {
live on;
idle_streams 30000; # 30 seconds
}
}
}⚠
如果将 'idle_streams' 设置得过低,活跃用户的连接可能会被过早关闭。
⚠
确保你的应用逻辑考虑到流会因空闲而被关闭;否则,用户可能会遇到意外断开连接的情况。