RTC

RTC 专题中心

质量保证与监控体系

← 返回专题列表
自研技术栈与工程攻关

RTC 质量保证与监控体系

QoS/QoE 指标分层 · getStats 采集 · 告警基准 · 拨测双轨 · 弱网实验室 · 大厂对标 | 2026-07-30 | 12+ 信源
为什么监控是自研 RTC 的分水岭:SFU 谁都能搭起来,但「用户说卡、你却不知道卡在哪」才是自研团队被商业方案吊打的真实场景。商业厂商卖的从来不只是媒体转发,而是水晶球(Agora Analytics)/ 仪表盘(TRTC Dashboard)背后的质量运营能力——自研必须把这块补齐,否则永远在盲飞。

核心结论(TL;DR)

结论 1
指标必须三层分开:网络层(RTT/丢包/抖动)是「原因」,媒体层(码率/帧率/卡顿)是「过程」,体验层(MOS/进房成功率/首帧时间/投诉率)才是「结果」。只看网络层会漏掉编解码问题,只看体验层无法定位根因——告警挂体验层、定位靠下两层。
结论 2
getStats 是唯一的真相来源:浏览器/SDK 侧 W3C getStats API 暴露 200+ 字段,生产上抽 15–20 个关键字段、5–10 秒采样一次即可;开源 rtcstats 方案(webrtc-internals 自动化采集)可直接落地,不必从零造轮子。
结论 3
拨测与 RUM 缺一不可:真实用户监控(RUM)告诉你现状分布,但无法主动发现「凌晨某国节点劣化」;合成拨测探针(各区域常驻假用户互打)才能在用户投诉前发现问题。两轨数据打通到同一看板,按国家 × 运营商 × 版本三维度切片。
结论 4
弱网测试要进 CI:tc/netem 损伤注入(丢包/延迟/抖动/带宽限制的标准剧本库)+ 自动化对比基线,每次引擎改动跑全套弱网回归——RTC 的性能回退往往不在功能测试里暴露,而在 8% 丢包 + 200ms 抖动的组合剧本里现形。

一、QoS / QoE 指标体系分层

层核心指标来源用途
网络层(QoS) RTT(currentRoundTripTime)、丢包率(packetsLost/Sent)、抖动(jitter)、可用带宽估计(availableOutgoingBitrate)、relay 占比 getStats candidate-pair / remote-inbound-rtp 根因定位、调度反馈(切节点)
媒体层(QoS) 实际编码码率/帧率/分辨率、关键帧频次、NACK/FEC/PLI 计数、解码丢帧、音频 concealedSamples(PLC 隐藏比例) getStats outbound/inbound-rtp、track 引擎行为诊断(是网络差还是策略降的档?)
体验层(QoE) 进房成功率、进房耗时、首帧时间、音频/视频卡顿率(600ms 口径)、口到耳延迟、E-model 估算 MOS、用户评分/投诉率 SDK 埋点 + 服务端事件流 告警与 SLA 的唯一挂靠层
MOS 怎么算才靠谱:线上无参考场景用 ITU-T G.107 E-model 从 RTT/丢包/编解码折算 R 值再映射 MOS(实时、可规模化);实验室场景用 POLQA/ViSQOL 全参考算法对录音打分(准、但需要参考信号)。两者数值不可直接互比,各用各的基线。

二、getStats 采集落地

三、告警阈值基准表

指标健康预警(自动降级动作)严重(告警+调度动作)
丢包率<2%2–5%:FEC 升档、视频降码率>5% 持续 30s:降分辨率/关视频保音频
RTT<150ms150–400ms:NACK→FEC 策略切换>400ms 持续:触发调度重新选点(ICE restart)
抖动<30ms30–100ms:抖动缓冲水位上调>100ms:同上 + 记录网络事件
进房成功率(分国聚合)>99%97–99%:值班关注<97% 或环比跌 2pp:拉响区域告警
音频卡顿率<1%1–3%>3%:区域级排查(大概率节点/线路问题)
qualityLimitationReason=cpu 占比<5%5–15%:低端机策略复查>15%:端侧性能回退,查最近版本

两条告警工程纪律:① 单用户指标永不告警(噪声太大),一律聚合到「国家 × 运营商 × 5 分钟窗」再判;② 每条告警必须绑定 runbook(第一响应动作),否则就是骚扰。

四、拨测探针与真实用户监控双轨

1. 合成拨测(主动)

2. 真实用户监控 RUM(被动)

五、弱网实验室与自动化回归

六、大厂质量运营实践对标

能力Agora 水晶球(Analytics)TRTC 监控仪表盘自建对标最短路径
通话质量调查单通话全链路时间线(端→边缘→对端)通话详情 + 端到端指标图getStats 时序回放页(ClickHouse + 前端时间线)
大盘与切片分国/分运营商/分版本大盘实时大盘 + 历史对比Grafana 三维度切片看板
异常自动诊断100+ 规则自动标注问题类型异常事件流规则引擎起步(阈值+组合规则),后续再谈智能化
拨测内置探测网络—(需自建)Playwright 探针矩阵(第四章)

对标结论:自建做到「时序回放 + 三维度看板 + 规则告警 + 探针矩阵」四件套,即可覆盖商业方案 80% 的日常价值;剩下 20%(海量通话的自动归因)是长期活,别在第一年追求。

七、监控体系从 0 到 1 四阶段路线图

M1

看得见(第 1 月)难度低

getStats 白名单字段上报 + 通话摘要入库 + Grafana 首版大盘(进房成功率/卡顿率/RTT 分国曲线)。

M2

能定位(第 2–3 月)难度中

单通话时序回放页 + qualityLimitationReason 归因分类 + 告警规则挂 runbook;坏通话下钻打通客服工单。

M3

能预防(第 3–5 月)难度中

拨测探针矩阵常态化 + 弱网剧本进 CI + 发布质量门禁(对比基线卡发布)。

M4

能运营(持续)难度高

质量 AB 平台化、分国分运营商周报驱动参数迭代、与调度系统闭环(质量数据反哺选点)——到这一步,监控体系开始反过来定义产品竞争力。

来源列表(12+)

← 返回专题列表 ↑ 回到顶部