陌陌直播全景监控系统实践

系统建设背景

随着移动互联网技术的高速发展,人们喜欢的媒体交互方式也由文字、图片、小视频迅速切换到了直播。作为一种新兴的社交方式,直播在实时性、交互性方面具备先天优势,这也推进了直播在各行各业的快速应用。作为最大的陌生人社交平台,陌陌自然也少不了直播。

陌陌拥有大量的用户群体,直播上线后,海量的主播和观众开始使用直播社交,系统并发一度达到高峰。在如此高并发的情况下,如何保证为用户提供最佳的直播体验,成为我们的当务之急。为此,我们建设了一套直播全景监控系统,实时监控陌陌全平台直播服务质量。

系统架构实践

陌陌直播全景质量监控系统基于陌陌实时日志基础平台而研发,通过高效的实时分析系统,实时将各业务维度的数据进行聚合呈现,并加以监测报警,提供秒级故障发现机制。同时,拨测系统在主播开播的第一时间向CDN拉取流媒体,进行内容层面的分析监控,第一时间发现问题流。

日志收集

流媒体分发质量的好坏,大多取决于CDN的节点分布程度,常用商用CDN公司由于资源限制等因素,在建设节点时,会形成一定的节点片区优势,而我们的业务又需要全局最优。同时,任何系统都不能保证百分百的可靠性,CDN也有故障的时候。为了保证业务系统的高可用和最佳质量,陌陌采用了多路CDN分发,CDN之间互推的流媒体分发策略。

依托此业务架构,我们在推流终端、CDN入口、CDN互推入口、CDN出口、播放终端等重要环节进行流媒体质量指标采集,供全景质量监控系统分析使用。从业务上,日志分为以下两类:

事件类,包含开播、停播、播放、停止、心跳等基础播放行为事件。

质量类,包含带宽、帧率、延迟、卡顿等关键视频质量评测指标。

直播质量评估

我们知道,评测互联网直播分发质量最重要的三个指标是秒开、延迟和卡顿,其中又以卡顿最为影响用户体验。陌陌的大数据分析平台表明,当卡顿率上升的时候,大多数用户会选择放弃观看或者切换频道。

陌陌直播全景质量监控系统定义了一套直播质量评测指标,从不同的维度对当前分发质量做量化,主要包含以下几个方面:

平均接入延迟平均接入延迟主要包含请求延迟、首包时间、首帧时间等,其中请求延迟定义为从发起HTTP请求到收到HTTP返回码所耗费的时间,用于衡量CDN网络的接入速度;首帧时间定义为从发起HTTP请求到收到第一帧流媒体数据所耗费的时间,用来衡量CDN的回源速度;

端到端延迟端到端延迟是指媒体从主播端产生到观众端播放所耗费的整体链路时间。我们在主播端流媒体编码时,在媒体数据中加入时间戳信息,观众播放流媒体数据时解析该时间戳,即可得到端到端延迟时间。该时间主要用来衡量CDN分发引入的延迟大小,在直播系统中,在不影响卡顿等其他指标的情况下,延迟越小越优。

卡顿率卡顿率=出现卡顿的在线用户数/在线总用户数*%,通过此指标可以衡量当前卡顿影响的人群范围;

人均卡顿次数人均卡顿次数=在线卡顿总次数/在线用户数,通过此指标可以从卡顿频次上衡量整体的卡顿严重程度;

卡顿时比卡顿时比=卡顿总时间/播放总时间*%,通过此指标可以从时间维度衡量卡顿严重程度;

推流故障率推流故障率=推流失败次数/总推流次数*%,通过此指标可以衡量当前主播的开播故障情况,通常CDN网络出现故障时会导致主播开播不了,此值会变高。

播放故障率播放故障率=播放失败次数/总播放次数*%,通过此指标可以衡量当前观众播放故障情况。

通过以上算法,已经能够比较全面的衡量直播分发质量情况。

多维度业务聚合

陌陌在直播分类中属于泛娱乐直播,与游戏、户外直播最大的不同之处在于主播数目庞大,我们需要将大量的主播分散到不同的CDN、不同的域名去做分发。运维需要实时



转载请注明地址:http://www.jiankongxingye.com/jkhyjs/26842205.html
  • 上一篇文章:
  • 下一篇文章: 没有了