当前位置:首页 > 电竞资讯 > 正文内容

给大家科普一下耀世娱乐主管34222(2022已更新(今日/知乎)

杏彩体育2年前 (2022-12-29)电竞资讯38

6 月 10 日,又拍云 Open Talk | 2018 音视频技术沙龙·深圳站 顺利落幕,来自虎牙的直播运维研发架构师张波在沙龙上做了《基于CDN推流日志的主播上行实时监控及其自动化解密》的分享。虎牙直播是中国领先的互动直播平台,作为“游戏直播第一股”,是音视频技术的典型应用企业。

张波目前主要负责虎牙直播运维体系的建设,针对 Web 和后台类程序的发布、监控、运维自动化相关的运维系统进行设计和开发。本次分享中,张波结合在一线工作中的实践,介绍虎牙直播针对主播推流在 CDN 环境下的优化技巧,以及实践过程中碰到的各种坑。

以下是分享内容:

虎牙直播作为游戏直播平台,拥有数百个产品线,同时在线主播数高达数万,因此虎牙接入了多家 CDN 厂商。

体量这么大的主播上行量通过 CDN 端推流日志如何做到自动监控,异常及时发现,业务如何通过系统准确定位?

用户侧、网络侧、CDN 运营商侧等引起的故障,如何做到故障分钟定位?

先与用户发现定位系统问题瓶颈,如何用数据指引 CDN 提升服务质量呢?

这次分享,我们就来聊聊如何解决这些问题。

首先是主播监控手段,最直接、最低延时的监控手段是观察用户弹幕喊卡。

当弹幕开始喊卡时,开发会上系统查看端上上报的监控数据来定位问题。但是仅仅依靠服务端数据,是很难确定问题是发生在哪里的,线路、客户端、CDN、IDC 都有可能出现问题。

直播出现问题的原因有很多,我们要如何准确定位业务问题呢?

一般情况下,当虎牙主播直播出现问题后,开发会让运维提供 CDN 服务器端数据,来定位问题,再由运维联系 CDN 运营商排查问题,最后由 CDN 厂商解决问题。

除此之外,虎牙还有其他的监控方案:

第三方拨测监控;端上报数据监控(主播端上报,用户端上报);弹幕喊卡监控服务端数据监控;机房网络监控。

CDN 侧健康管理

面向用户体验端到端的健康管理,范围比较大。本次分享主要讲一下 CDN 侧的健康管理,比如判断 CDN 是否存在问题?

上图系统的核心功能主要有:

建立应用服务监控视图;关注应用性能;多段、多层数据关联分析;了解用户感知;了解应用最终交付状态;了解应用对业务的影响;端到端覆盖应用路径;追踪应用服务质量;快速诊断和定位故障。
△ 虎牙部分监测系统2

图中也显示了各个线路的质量情况,虎牙每 20 秒检测一个节点情况,而 CDN 的线路图,监控时效性是一分钟延迟,因此全网 CDN 上行质量出现问题的话,会在一分钟内发出告警。同时全网的出现卡顿的主播在卡顿监控中可以试试看到,并实现定位上行卡顿原因,迅速排出是否是厂商线路问题或运营商线路问题。

CDN 端到端的应用性能管理

上图是监测系统的核心功能——端到端的应用性能管理,图中描述了主播上行链路,上行方式分为 CDN 上行和虎牙上行,CDN 上行是指通过 CDN 上行服务进行上行传输。

当 CDN 端接收到上行视频后,会进行转码和转推,转推就是指将虎牙主播的上行流视频转推给其他厂商,让用户在各个厂商和线路上观看到直播。

所以直播上行可能会出现的故障,要么是主播端设备问题,要么是主播端到上行节点网络问题,或者是 CDN 上行服务器节点自身问题,再或者是上行视频转推给其他 CDN 厂商转推问题。

性能数据要覆盖哪些项目

上面这个表格是虎牙实时监控平台的部分核心功能以及性能指标的覆盖项。

主播端主要根据这些参数进行监控,比如 Block 阻塞次数、CPU、解码 CPU、模板 CPU、内存以及断开原因等监控指标。

IDC 层与 CDN 层监控指标相对较少,只有卡顿率和性能指数,这次分享也主要讲解性能指数。

在用户端虎牙设置了感官卡比监控指标,感官卡比就是用户真实感受卡顿的比例,除了感官卡比之外,还有解码方式、主动丢帧等监控项。

实时监控需要注意的技术点

在实时监控这方面,我们使用的相关技术点,主要有:

流计算:sprak实时日志存储:内部日志索引服务数据存储:Hbase、Opentsdb

主播上行部分数据处理量并不大,即使是虎牙这个体量的直播平台,原始日志一秒一条日志5秒合并输出一条。

aac:0 bigint 接收或者发送aac的次数 abytes:4017#5733#7186#5642#4179 string 接收或者发送的音频字节数 adrop:0#0#0#0#0 string 音频发送丢帧数 afcnt:30#43#53#42#31 string 音频帧数 afts:468664897#468665895#468667126#468668101#468668821 string 音频时间戳 agap:0#0#0#0#0 string 音频帧最大接收间隔(ms) app:hunantv string rtmp协议中的app appbuf:0#0#0#0#0 string 应用层发送队列长苏 avc:0 bigint 接收或者发送的avc的次数 block:0 bigint 卡顿次数 bwin:0.0000 double 入带宽 bwout:76382.0000 double 出带宽 gop:180871 bigint 关键帧序号 mss:1460#1460#1460#1460#1460 string mss大小 netqlen:96617#70188#57206#74576#106873 string tcp发送大小 retrans:0#0#0#0#0 string 重传包数 rtt:1#1#1#1#1 string tcp层的rtt (ms) rwd:0 string tcp的接收窗口大小.目前为空 sndbuf:0 string tcp的发送大小 tcpbuf:715#2841#1808#19705#724 string tcp的buffer大小 字节数 vbytes:64523#51103#64525#103969#68513 string 接收发送的音频字节数 vdrop:0#0#0#0#0 string 视频丢帧数 vfcnt:17#25#31#25#17 string 视频帧率 vfts:468664864#468665864#468667104#468668104#468668784 string 视频时间戳 vgap:0#0#0#0#0 string 视频帧之间最大间隔 (ms) vhost:xx.mgtv.com string 域名 vname:xx.mgtv.com_HNGGMPP360 string 流名

上面这个表格是 CDN 上行日志,可以看到其中的描述项非常多,能够直接反应主播上行质量的指标并不多。

我们要如何从日志中挑选出需要的数据进行监控呢?

its 采集时间戳(毫秒) uip 主播IP,点分十进制 inip 节点IP,点分十进制 inarea 节点省份 inisp 节点ISP信息 streamhost 流域名,如:tx.direct.huya.com streamname 流名称 vfps 视频帧率 (5秒一条数据,1秒一个值,每个值用#分隔) vts 视频时间戳(毫秒) (5秒一条数据,1秒一个值,每个值用#分隔) afps 音频帧率 ats 音频时间戳(毫秒) [{"afps":30,"ats":9689432,"inarea":"河北","inip":"124.239.xxx.xx","inisp":"电信","its":1521530182,"streamhost":"ws.xxx.huya.com","streamname":"/huya/xxx-xx-xx-xxx-xx-A-xxx-1","uip":"123.182.xx.xxx","vfps":30,"vts":9689399}]

△ 虎牙统一上行标准日志

上面表格是日志监控解决方案,虎牙定义了用于监控的标准日志。统一标准后的日志对比之前的日志减少很多内容。

重点提取了采集时间戳、主播 IP、节点 IP、节点省份、推流域名、视频帧率、视频时间戳、音频时间戳、音频帧率等监控项数据,有利于对数据进行分析。

如何设计统一上行质量度量方式

在度量上行质量方面,虎牙使用的是一个国际通用标准,Apdex 是用户对应用性能满意度的量化值。它提供了一个统一的测量和报告用户体验的方法,把最终用户的体验和应用性能作为一个完整的指标进行统一度量。

Apdex 会定义应用响应时间的最优门槛为 T,另外根据应用响应时间结合 T 定义了三种不同的性能表现:

Satisfied(优质):应用响应时间低于或等于 T(T 由性能评估人员根据预期性能要求确定),比如 T 为 1.5s,则一个耗时 1s 的响应结果则可以认为是 satisfied 的;Tolerating(可容忍):应用响应时间大于 T,但同时小于或等于 4T。假设应用设定的 T 值为 1s,则 4 * 1 = 4 秒极为应用响应时间的容忍上限;Frustrated(劣质):应用响应时间大于 4T。

这个方案描述了服务质量如何度量,它将服务质量分为三部分:优质样本

可容忍样本、劣质样本。

这样操作就把复杂的操作变简单,三级度量,每一级度量都会有对应的分值,优质样本1分,可容忍样本0.5分,劣质样本0分,复杂问题通过计算公式简单化。

再者,上行质量要怎么去度量呢?

我们可以这样来看,在帧率没有出现明显抖动时,用户感觉不到卡顿,我们就没有必要把这个上行定义为问题。

样本:当前平均帧率与前两秒抖动最大差值

优质样品: 0% <= 评分 < 5%

可容忍样品: 5% <= 评分 < 10%

劣质样品: 10% <= 评分

虎牙通过测量当前平均帧率与前两秒抖动最大差值,来度量优质样本。

优质样本要求评分在 0% 到 5%,可容忍样品在 5% 到 10%,劣质样本小于等于10%。

一般来说,如果主播视频的平均上行帧率是 30 帧,5%是指抖动 1 秒产生的抖动帧是 1.5 帧。

1.5 抖动帧,大部分人感觉不到画面抖动,但是达到 3 帧时,用户就能感受到画面的抖动。

通过实时/离线计算结合,提升数据准确性

虎牙的计算方式是实时和离线结合的,实时计算由于数据延迟,或者实时计算问题,导致数据不太精准。

如果要实时计算的数据作为调度或者厂商质量评判标准的话,就需要辅以离线计算,让数据更准确,才能指导厂商优化节点以及调度服务优化线路。

主播上行质量实时监控系统应用的典型场景

主播上行实时监控的应用场景有四个方面:

1. CDN 入围测试:制定入围标准,上行接入质量达到,缩短测试周期

2. CDN 运行监控:实时获取CDN端运行数据,对可能的主播运行风险进行及时预警,实现主播级的故障自愈和问题定位

3. 节点质量管理:实时评价CDN上行节点健康度,主动发现影响客户体验因素,屏蔽质量较差的节点和线路

4.主播上行,运营分析:利用全方位的主播上行性能数据,出具主播质量和线路质量性能报告,从业务角度为主播上行质量运营提供分析数据。

查看讲师分享 PPT 和分享视频,请进入下方传送门:

扫描二维码推送至手机访问。

版权声明:本文由财神资讯-领先的体育资讯互动媒体转载发布,如需删除请联系。

本文链接:http://www.tengj.cn/?id=19155

分享给朋友:

“给大家科普一下耀世娱乐主管34222(2022已更新(今日/知乎)” 的相关文章

Redmi K50电竞版评测:绝无骗人!这是目前性能调度最给力的炎龙8Gen1

Redmi K50电竞版评测:绝无骗人!这是目前性能调度最给力的炎龙8Gen1

年后的第一款K50几乎没有让人等待,K50电竞版(K50G)在年后的第二周就完成了发布。 这次我有幸第一视角体验到了真机,熟悉我评测风格的朋友应该都知道,我这边一直是最注重实际的体验反馈,而不只是单纯的“列举测试数据”。媒体机当然有它的特殊性,但我可以保证,本文所列所有测评反馈均为...

难产3年的《英雄联盟电竞经理》开测了,但只适合整活?

难产3年的《英雄联盟电竞经理》开测了,但只适合整活?

阿蒙 | 文 昨天上午,《英雄联盟电竞经理》开启了第一次面向广泛玩家的删档测试,这也是这个项目正式发布的第三年。 由于官方采取了随机的测试资格发放手段,很多期待已久的LOL老玩家只能在开测之后眼巴巴地望着那些凭借名额第一时间冲进服务器的欧皇们。 不过没能玩到的非酋们...

英雄联盟电竞经理:新手入门攻略

英雄联盟电竞经理:新手入门攻略

这次内容将从“玩家的定位“”游戏的玩法“”系统的功能“三个方面入手剖析整个游戏,保证屏幕前的你看完就能明白怎么玩? 1、玩家的定位在游戏中,玩家可以组建一支强劲的队伍,作为一位战队经理来指挥整支队伍的前进方向,带领全队征战赛场,把这个团队努力打造成世界级的职业战队,同时玩...

聚焦全球最活跃的移动电竞市场 ,拳头游戏2023年将举办英雄联盟手游亚洲联赛

聚焦全球最活跃的移动电竞市场 ,拳头游戏2023年将举办英雄联盟手游亚洲联赛

  近日,拳头游戏公布了《英雄联盟手游》电竞未来计划。拳头游戏表示,2023 年将把英雄联盟手游电竞的运营和重点聚焦在全世界最大最活跃的移动电竞市场 ——亚洲。   “一年前,我们推出了拳头游戏的首个移动电竞项目——英雄联盟手游电竞的第一个官方赛季。伴随着满满的激情、展望与投入,我...

《英雄联盟电竞经理》7 月不删档测试

《英雄联盟电竞经理》7 月不删档测试

IT之家 6 月 27 日消息,据《英雄联盟电竞经理》官方消息,该游戏将在 7 月不删档测试。 在今晚 8 点的 2022 腾讯游戏发布会上,官方还将揭晓首位神秘 SSR 选手,大...

曙光测试结束,《英雄联盟电竞经理》登陆苹果 App Store

曙光测试结束,《英雄联盟电竞经理》登陆苹果 App Store

IT之家 4 月 23 日消息,在曙光测试结束后,《英雄联盟电竞经理》现已登陆苹果 App Store,并于今日正式开启预定。预定用户在游戏不删档开启后即可自动下载游戏。...