idle_streams

NGINX RTMP 模块中的 'idle_streams' 指令会在自动关闭流之前维持流的不活动状态一段指定的时间。

语法idle_streams time;
默认值none
上下文
参数1

说明

'idle_streams' 指令一旦设置,允许管理员定义流在被视为空闲之前可保持不活动的时长。一旦流在指定时长内处于不活动状态,NGINX 将自动终止该流以节省资源。这在直播场景中特别有用,因为保持打开但不活动的连接会导致不必要的资源消耗。

该指令的参数是一个时间值,通常以毫秒为单位。通过指定合适的超时时间,可以控制服务器在判断流为空闲之前等待的时长。该指令在并发流场景中尤为重要,因为它有助于减少未使用资源的占用并确保对活动流的更好管理。如果未配置此指令,服务器可能会比预期更长时间保留不活动的流,从而可能影响活动流和其他服务的性能。

'idle_streams' 指令的配置应考虑流的预期活动。在直播情况下,较高的超时时间可能更合适;而在其他情况下(例如在处理各种请求的服务器上频繁连接和断开),较低的超时时间可能更合适,以将延迟和资源使用降到最低。

配置示例

rtmp {
    server {
        application live {
            live on;
            idle_streams 30000;  # 30 seconds
        }
    }
}

如果将 'idle_streams' 设置得过低,活跃用户的连接可能会被过早关闭。

确保你的应用逻辑考虑到流会因空闲而被关闭;否则,用户可能会遇到意外断开连接的情况。

← 返回所有指令