直播技术:从性能参数到业务大数据,浅谈直播CDN服务监控

线上服务的有效监控和数据收集,一直是后端服务离不开的话题。直播做为一种经典的分布式系统,监控以及数据收集更是必不可少的工做。如何对海量的服务集群有效的监控和保活,又如何抓取集群中的碎片数据中来优化服务?网易云信音视频研发工程师将和你们共同探讨。前端

 

推荐阅读算法

视频私有云实战:基于Docker构建点播私有云平台后端

高清音质背后:网易云信音乐教学方案技术解密

 

机器站在巨人的肩膀上用着轮子服务器

做为分布式集群,物理层上的最小单位天然是机器。对于一台机器而言,常规性能指标天然就是CPU、内存、网卡的使用状况。这些性能有不少方式去获取,而视频云采用的是网易的哨兵系统。哨兵系统是网易的监控系统,提供了很是详细和即时的性能指标。网络

借由哨兵这个强大的轮子,咱们能很是方便的在机器级别上,作出有效的监控。例如当网卡流量或者cpu异常的时候,能够快速的报警采起处理。固然,不光光能够监控机器是否能正常运行,也能够监控是否被恶意攻击,这个暂且不谈。架构

 

性能指标与业务融合运维

固然,只有机器级的数据,是远远不够的。俗话说,不与业务贴合的数据,不是好数据。做为直播CDN服务,最常规的参数,天然是音视频码率和延迟。分布式

细心的看官们可能发现了几个比较特殊的统计。ide

为何统计了总码率也统计了音视频单独的码率?性能

这是由于在真实的场景中,总码率并不必定能还原出咱们须要的场景,有不少状况会须要单独的分析音视频码率,例如用户主动关闭了视频输出或者机器采样性能不足致使的视频卡顿,这个时候只须要配合帧率的统计,就能够快速还原场景。固然,视频码率自己也不是一个固定的数值。视频云也针对弱网提供QoS(便可变码率)的功能。

推送延迟push_delay是什么?

推送延迟,是一个衡量C/S之间网络状况的参数。当这个参数发生波动的时候,则说明C端的包到达S的时间比预计要长。可以反映出网络的抖动状况。若是计算这个数值呢?简单来讲,是使用了RTMP包头部的时间戳。若是非要用一个公式解释一下,我以为应该是:

Delay=abs( (当前RTMP包的到达时间-上个RTMP包的到达时间) – (当前RTMP包的时间戳–上个RTMP包的时间戳) )

计算每一个包到达服务器所消耗时间的差别值,用于表明网络的抖动。固然,还须要作其余不少事情,例如加权和jitter算法来减小偏差和避免。

为何还有send_kbps?

其实这也挺好理解,由于CDN自己是分布式系统,在节点和节点间须要作路径选择,而后从节点到节点传输,从而实现加速。Send_kbps其实就是前一个节点向后一个节点的发送码率。那么这就涉及到了一个问题,若是去trace某一条流的数据呢?对于每一条流,咱们会给予一个惟一的标记,在节点间传递的时候,咱们会给流添加一个自增的标记Hops。

经过这个标记,能够精准的找到这条流在节点件的走向,从而把各个节点的数据聚合在一块儿

其余,咱们还会抓取一些相似源IP,用户设备等客户端的信息。这些信息能帮忙咱们走进大数据时代。

 

总体数据服务的架构

分布式系统中,每个节点都会产生大量的统计和性能数据。因此在视频云,有一个完整的统计架构来做出支持。从最前端的数据采集、传输,到汇总,而后到计算集群,最后输出。每个服务都各司其职。让咱们来看看总体架构。

对于每个区域,会有一个数据汇聚的服务器,负责从流媒体服务器收集数据。最初的元数据,通过数据汇聚服务器汇总、过滤和压缩之后。统一上报到中心集群中的统计服务器。统计服务器会将全部的统计数据,逐一落库,储存在数据仓库中。其他的数据计算集群,会从数据仓库中定时进行读取计算。具体的计算间隔,会根据业务类型不一样而不一样。例如运维平台会主要读取一些机器级别的数据,进行分析和报警。大数据计算集群则会对数据进行计算,得出优化方向,此处咱们稍后再聊。业务数据展现平台则是会实时的输出数据(例如码率和延迟),用于提供给用户和技术支持查询。固然,还有其余各类各样的数据处理服务,这里就再也不一一介绍。

 

数据能作的一些事情

最后,咱们聊一聊数据。在这个大数据时代,有了数据却不作事情,等同于浪费。那么,有了这些数据之后,咱们作了什么事情呢?固然,最显而易见的,就是调整调度策略,增设布点。例如,上图的大数据的运算结果,南京电信的网络权重比较差,这就说明南京电信地区须要进行排查。而南京移动的用户量较大,也说明南京地区应该增设服务点。

此外,数据和性能指标的上报,也会被用于均衡负载调度。例如某一个节点压力较大的时候,或者性能不稳定的时候,这个节点的调度优先级就会被下降(即不太会被优先分配给用户)。

以上就是我对于直播CDN服务监控的一些见解,可是直播CDN服务监控和数据收集是一个值得无止境讨论和优化的事情,欢迎你们留言与我探讨。

想要获取更多产品干货、技术干货,欢迎关注网易云信博客

 

 

网易云信(NeteaseYunXin)是集网易18年IM以及音视频技术打造的PaaS服务产品,来自网易核心技术架构的通讯与视频云服务,稳定易用且功能全面,致力于提供全球领先的技术能力和场景化解决方案。开发者经过集成客户端SDK和云端OPEN API,便可快速实现包含IM、音视频通话、直播、点播、互动白板、短信等功能。

相关文章
相关标签/搜索