如果你正在产品涉及到在线教育、直播连麦、视频会议、互动游戏(狼人杀)、金融双录等等这些实时音视频互动的场景,这段时间业务规模一定在指数型爆发式的增长。
业务规模大了,问题也会随之而来,比如在线教育,通过实时音视频为学生和老师提供在线学习平台,由于不是面对面的交流,通话质量就显得至关重要。举个例子:上课时,如果老师分享的画面不清晰、声音卡顿,会大大降低授课体验,严重的可能会造成课程无法正常进行,这样必定会导致退课的情况大大增加,因此给平台带来损失不容小觑。 质量是音视频行业的生命线,但由于音视频领域的技术门槛比较高,App开发者不一定有很好的方法进行全链路的质量监控和排查,从用户到客户,再到音视频云服务商层层排查,最终诊断出问题、制定解决方案,问题处理流程复杂时长较长,等到确认问题答复客户的时候已经造成很差的用户体验。 如果你的产品正好使用的是腾讯实时音视频TRTC产品提供的服务,那么“监控仪表盘”可以帮助您快速定位问题,并且快速找到解决问题的方法。
先大致讲下仪表盘的设计初衷,这样会显得产品比较高级,腾讯本身有大量的音视频通信的业务场景比如QQ电话、微信电话、腾讯会议,在产品运营中也会遇到各种各样的问题,经过整理和筛查后发现,会有以下几类问题:
· 设备问题:如型号老旧、硬件接口不标准、系统兼容性差、故障;
· 网络环境问题:如用户所处的环境信号差、传输丢包、网络延迟、抖动;
· 用户行为:如用户自己按了静音、切换网络、切换了蓝牙、扬声器等;
· 实时音视频服务问题:如 TRTC SDK 和后台服务问题。
所以只要有足够的数据支撑,就可以让绝大部分的用户以及运维能够自闭环、快速响应,并且对服务质量能够量化评估。
针对这些常见的问题,腾讯内部有一套非常完善的质量评估及数据分析的体系,从中可以监测到实时通信过程中整个链路的数据信息:
1、用户行为:
静音、切换网络、切换摄像头/麦克风、进出房间等;
2、运行时状态:
APP和系统CPU占用、内存等;
3、质量信息:
卡顿、帧率、码率、音量等;
4、网络信息:
接入网络、丢包、抖动、延迟等。
监测到的信息通过内部的工具和系统就可以快速定位诊断。
下面我们通过一个用户卡顿的案例,具体看下如何通过监控仪表盘进行排查并解决问题。 步骤一:我们登录腾讯云官网,搜索“TRTC”并进入实时音视频介绍页:
步骤二:登录实时音视频控制台,并进入监控仪表盘页面,这个页面会展示15天的通话数据:
步骤三:根据房间ID/UserID,进入到通话详情页面:
在通话详情页面中,我们可以看到用户所处的区域、使用的终端平台、SDK的版本、接入的网络情况等等。
步骤四:我们选择有问题的用户从发送/接收端的视角查看数据:
如果显示的数据画面太小怎么办?我们可以把鼠标停留在任一模块上,滚轮直接滑动,所有的模块会同步放大时间轴,这个设计非常的人性化。
我们可以从下图的例子中很清楚的看到接收端表现卡顿的时刻,发送端的帧率非常低,此时发送端的CPU也严重飙高。跟用户沟通后确实是老旧的设备并且开了过多的应用。关闭应用后问题得到解决,用户满意,业务也没有受到损失。
当然,想做到如此顺滑的体验,我们也面临着非常多的技术挑战:
一、实时数据收集处理
我们用户分布在全球各地,接入点也遍布在全球各个地方。用户的上行带宽和终端性能在通话过程中非常宝贵,为保障不影响用户上行情况下收集到全面的质量以及用户网络状态信息,我们需要对上报信息做精简压缩,并结合后端服务实时计算,综合得到所需的信息。
信息拿到之后再依赖我们全球内网专线,保障数据不丢,快速的传到数据处理服务。
二、千亿级数据实时处理
问题排查最重要的是还原现场,所以提供的数据链要非常完整。因此要求终端每隔2s上报质量数据。数据的压力非常的大,每天都有上千亿数据实时上报。在这些庞大的数据上报中,我们采用分布式计算服务将这些复杂的信息中进行实时计算,匹配,从而迅速得到分析结果。
三、海量数据存储和极速查询
每天千亿数据需要落地存储,并且存储数周,存储量巨大,对检索速度又有极高要求。我们可以做到2秒以内查出房间列表数据;6人持续5小时的通话房间能够在10s内渲染并以图表的形式呈现给用户。
监控仪表盘是我们提供的第一款针对异常通话的分析工具。接下来,我们还将发布数据大盘和监控告警这两项功能。前者可以帮助客户了解用量和质量的总体趋势及分布,后者能让客户提前感知异常并且及时通知客户及时干预,提升体验。
腾讯实时音视频TRTC的愿景就是为了把专业的实时音视频技术门槛降到最低,帮助开发者拥有和一线大厂同样技术军备,从而能够做出业务和商业上的创新。
下期准备介绍一个案例...emmmm
了解更多关于腾讯云实时音视频(TRTC)的信息, 请扫描下方二维码即可体验 TRTC 官方Demo。您可以访问我们的官方网站:https://cloud.tencent.com/product/trtc
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。