基于王者荣耀的端到端优化研究
2019-03-15姚赛彬黄久成
陈 旻,姚赛彬,李 凌,黄久成
(中国联通上海分公司,上海200080)
1 概述
随着4G网络快速发展和智能手机的普及,实时在线手机游戏越来越受到人们的追捧,用户因游戏使用体验问题对现网的诉求也越来越多。王者荣耀作为市面上关注度、用户数均最高的一款实时对战游戏,通过对其分析可为用户体验提升及重点业务的端到端优化提供参考,以便形成针对重点业务的端到端网络问题定位及优化解决方案,指导运营商开展针对具体业务质量的速率优化工作。
传统的KPI+DT/CQT的管控手段在面对越来越多的APP智能应用已经显得越来越力不从心,用户的真实的KQI使用感知无法完全通过传统的管控手段进行管控承接。因此本文基于现有话统、MR、卡顿清单等数据对王者荣耀游戏卡顿特征进行系统化的关联分析,并形成一套针对重点业务的端到端分析优化方法。
2 游戏特征
2.1 启动登陆游戏
启动过程,客户端通过DNS域名解析获得王者荣耀游戏服务器的IP地址,建立TCP连接,进行数据交互启动游戏。
2.2 游戏对战阶段
在实时对战的过程中,客户端与服务器间主要有2个交互连接,一个为TCP连接,一个为UDP连接。
2.3 TCP长连接
游戏客户端与服务器之间建立一个TCP长连接,由终端发起,通过这个TCP长连接进行心跳和其他信息交互,用以确认服务器状态正常,心跳间隔3 s,消息大小固定,流程如图1所示。
图1 TCP长连接建立流程
2.4 UDP报文
客户端和服务器之间交互的报文,除了TCP长连接报文以外,还有大量的UDP报文,主要有如下2类。
a)上行UDP报文:客户端通过上行UDP报文将玩家所做的操作上报给服务器。
b)下行UDP报文:服务器汇总参加对战的所有玩家的操作,通过下行UDP报文广播给参加对战的所有玩家的客户端。
2.5 帧同步
据腾讯消息,王者荣耀采用的同步机制为帧同步(非状态同步),主要流程如图2所示。
a)玩家上报操作。
b)服务器收集各玩家上报的各自操作,进行汇总,以固定的时间间隔(例如60 ms)向参加对战的各玩家广播所有玩家的操作。
c)各客户端接收到广播,知道了所有玩家的操作,按照相同的游戏逻辑进行运算,得到相同的结果,呈现在游戏界面上。
通过上述帧同步机制,基本可以保证参加对战的各玩家游戏步调是一致的,即游戏玩家间的显示基本是相同的(因为网络时延的不同会略有差异)。
2.6 广播报文
目前已知信息:5v5对战场景下,广播间隔60 ms,报文大小不超过460 B。
对游戏进行中的报文进行分析:
报文大小:最小68 B,最大313 B,平均190.8 B,分布如图3所示。
图2 帧同步流程
图3 广播报文大小分布示意图
发包频率:按时间对每秒的下行UDP报文个数进行统计,发现有3个台阶:16个/s、32个/s、48个/s。王者荣耀服务器每隔60 ms广播一次,每次广播的报文个数不同,有的场景每次广播1个报文,有的场景每次2个报文,还有的场景每次3个报文。
a)16个/s:发包间隔基本是60 ms,每次发1个包,个别有发2个包的。
b)32个/s:发包间隔基本是60 ms,每次发2个包。c)48个/s:发包间隔基本是60 ms,每次发3个。
2.7 操作上报报文
大部分报文大小都是140 B,少量为68 B。操作上报报文的个数与玩家所做的操作有关,操作越频繁,操作上报报文个数越多。
2.8 小结
客户端游戏操作与界面显示是通过UDP数据流与服务器进行交互的。
a)下行UDP广播报文约66 ms一组(每秒16组),每组报文个数不定(服务器有纠错机制,从已有终端抓包看每组可达3个报文),每个报文大小不定(从已有终端抓包看最小68 B,最大313 B,平均190.8 B)。因此可粗略计算下行速率需求为:16×3包×200 B约80 kbit/s。
b)终端上行UDP发包一般为140 B,但由于无固定发包周期,因此采用腾讯反馈的数据计算:平均4 000 B/s,峰值8 000 B/s。即估算上行速率需:64 kbit/s。
另外,客户端游戏登录是采用TCP连接,并且游戏交互过程中保持TCP长连接通过心跳包(3 s间隔)来检测用户是否在线。
3 王者荣耀关键指标定义
3.1 腾讯采集方式
a)采样范围:对手机客户端对局进行信息采集,包括时延、信号格数、终端IMEI、经纬度、ENBID、CELLID。
b)采集方式:信号格数、经纬度、ENBID、CELLID在每局游戏开始前采集一次。
c)时延采集:在游戏中每5 s采集一次。
3.2 时延与体验
如图4所示,通过终端右上角时延显示,表征相关时延体验情况。
a)100 ms以下,流畅。
b)100~200 ms,一般。
c)200~460 ms,体验不好。
图4 终端时延显示示意图
d)460 ms以上,服务器视为丢包,不处理。
3.3 卡顿标准
依据高时延(200 ms+)的采样点的比例定义卡顿,具体为:
a)无卡顿:200 ms以上的采样点比例低于3%。
b)轻微卡顿:200 ms以上的采样点比例大于3%,低于5%。
c)一般卡顿:200 ms以上的采样点比例大于5%,低于10%。
d)较严重卡顿:200 ms以上的采样点比例大于10%,低于15%。
e)严重卡顿:200 ms以上的采样点比例大于15%。
4 影响业务感知的因素及数据定标
游戏时延的影响主要为容量、覆盖、下行质差、上行干扰、终端问题、服务器问题、漫游用户等因素导致。
容量及上行干扰的影响,建议依据现网的实际话统数据及卡顿比例进行拟合分析确定标准门限。数据拟合采用话统基于用户数小区自忙时数据,按腾讯通报的周时间,获取一周用户数自忙时周均值指标。
4.1 与容量的关系
用户数或PRB利用率高是导致空口管道容量受限的主要因素,利用腾讯通报的小区卡顿比例与话统平均用户数和下行PRB利用率进行数据拟合,结果如图5所示。
中国联通目前按照卡顿比例7%的比例判定严重卡顿小区,但根据实际拟合情况来看,上海市各个参数段的平均卡顿率很难达到7%的程度,因此建议按照卡顿比例3%进行数据拟合,可得出以下结论。
a)随着用户数的增加,卡顿率呈线性上升趋势,且用户数超过210个时,卡顿率超过3%。
b)随着下行PRB利用率的增长,卡顿率呈线性上升趋势,且PRB利用率超过87%时,卡顿率超过3%。
4.2 与上行干扰的关系
与容量数据拟合方式相同,针对话统上行干扰与卡顿比例进行数据拟合,结果如图6所示。
按照卡顿比例3%进行数据拟合,可得出以下结论:卡顿率随着上行干扰的增加而加大,当卡顿率在3%时,上行干扰值为-93 dBm。
4.3 与上行信道质量的关系
将王者荣耀平均卡顿率与话统上行MCS和上行IBLER进行数据拟合,结果如图7所示。
按照卡顿比例3%进行数据拟合,可得出以下结论。
a)卡顿率随上行MCS的减小而增加,当平均上行MCS小于5.5时,卡顿率大于3%。
b)卡顿率随上行IBLER的增加而增加,当上行IBLER大于24%时,卡顿率大于3%。
图5 平均用户数、下行PRB利用率与卡顿率的数据拟合结果
图6 上行干扰与卡顿率的数据拟合结果
4.4 与下行信道质量的关系
将王者荣耀平均卡顿率与话统下行MCS和下行IBLER进行数据拟合,结果如图8所示。
按照卡顿比例3%进行数据拟合,可得出以下结论。
a)卡顿率随下行MCS的减小而增加,当平均下行MCS小于5.5时,卡顿率大于3%。
b)卡顿率随下行IBLER的增加而增加,当下行IBLER大于26.5%时,卡顿率大于3%。
4.5 与4G弱覆盖的关系
将王者荣耀平均卡顿率与话统倒流次数进行数据拟合,结果如图9所示。
按照卡顿比例3%进行数据拟合,可得出以下结论:卡顿率随倒流次数增加而逐渐增加,但本次拟合未发现卡顿率超过3%的判断门限,但当倒流次数大于600时,卡顿率陡增,暂定门限为倒流次数大于600次。
4.6 与4G过覆盖的关系
将王者荣耀平均卡顿率与话统TA>2 km进行数据拟合,结果如图10所示。
图7 上行MCS、上行IBLER与卡顿率的数据拟合结果
按照卡顿比例3%进行数据拟合,可得出以下结论:卡顿率随TA>2 km比例增加而增加,当TA>2 km比例大于46%时,卡顿率超过3%。
图8 下行MCS、下行IBLER与卡顿率的数据拟合结果
图10 平均卡顿率与话统TA>2 km比例数据拟合结果
图11 平均卡顿率与无邻区导致无法切换的数据拟合结果
4.7 与切换的关系
将王者荣耀平均卡顿率与无邻区导致无法切换进行数据拟合,结果如图11所示。
按照卡顿比例3%进行数据拟合,可得出以下结论:卡顿率随无邻区导致无法切换次数增加而增加,当无邻区导致无法切换次数大于4 000时,卡顿率超过3%。
5 端到端问题定位及解决方案
5.1 问题定位
对游戏业务进行端到端问题分析,主要从3段进行问题分类:空口、传输和上游(见图12)。
a)空口排查。主要针对覆盖、干扰、容量、策略配置、小带宽站点、故障告警等进行排查。排查前需结合前面数据定标分析,找出本地网容量、干扰等门限标准。影响王者荣耀感知的空口问题主要由容量、弱覆盖、过覆盖、上行干扰、切换、重叠覆盖等引起。
b)传输排查。根据IPRAN和基站的对应关系,将基站的卡顿情况汇聚至IPRAN,找出高卡顿IPRAN,剔除无线侧问题后,定位问题IPRAN,然后Ping包定位具体问题。
c)上游排查(核心网及以上)。在没有明确的服务器等问题的情况下,上游的排查需根据本地网对比进行。
图12 端到端问题分析
具体分析思路如图13所示。
图13 问题分析排查思路
5.2 优化解决方案
表1给出了几种常见问题的解决方案。
对于精细化的优化,可参考下面小节完成本地网分析。
表1 几种常见问题的解决方案
5.2.1 扩容方案
锁定有效扩容需求。
a)多用户小流量:小区忙时平均流量≥8 GB。
b)单用户高流量:小区忙时平均RRC连接用户数≥100。
制定分场景差异化阈值。
a)针对口碑场景:对应下行PRB利用率>24%。
b)针对普通场景:对应下行PRB利用率>50%。
优化多用户并发调度。用户并发时长:PRB满调度占比>10%。
5.2.2 干扰排查
a)外部干扰:指直放站、互调、阻塞等外部干扰源导致。
b)邻站干扰:与邻小区的用户数或PRB利用率呈明显的同升同降趋势。
对于“邻站干扰”的邻小区,若用户数或PRB利用率高,可以将其纳入扩容清单;若不满足高条件,则需要降低本小区和邻小区间的重叠区域或调整方位角。
5.2.3 小带宽小区
需要将5 MHz或10 MHz小区扩容至20 MHz,若短期内无法扩容,需要进行负载均衡调整。
5.2.4 覆盖收缩方案
对于过覆盖、上行干扰、弱覆盖小区,可能由于边缘用户的分布导致卡顿的产生,因此可以采取收缩覆盖的方式进行优化。
方案实施时需连片进行,实施后可能会影响用户数和流量指标,需密切观测。
收缩覆盖的方案主要是调整互操作参数,原则为:2G/3G/4G互操作门限同升,避免4G门限抬升后,2G/3G不变情况下产生乒乓问题。
5.2.5 邻区优化(ANR受控模式)
由于现网可能存在伪基站,因此直接开启free模式ANR可能导致切换成功率的下降,因此需开启受控ANR。受控ANR在U2000上显示需要License支持(ENB侧无需License)。
5.2.6 参数优化方案
a)通过用户识别调速、提升上行增益、增加预调度等方法进行参数优化;关闭DRX,降低时延。
b)SRI发送门限调整,对于高负荷场景下无效。
c)其他参数参考CQI及速率优化参数执行,且该参数与基线相同,也可按基线参数直接核查。
5.2.7 单向CA策略
对于大小带宽组合的CA,由于小带宽很容易下行PPRB利用率高,且SCELL用户数多,导致卡顿拥塞,因此建议在大小带宽组合CA的场景,开启单向CA,即为:小带宽(PCELL)+大带宽(SCELL)方式,关闭大带宽(PCELL)+小带宽(SCELL)方式。如20 MHz+5 MHz组合,仅开启5 MHz作为PCELL的组合CA方式。
5.2.8 室分单双流核查
现网可能存在室分小区配置为2T2R,但实际通道为1T1R的场景,需要对此类场景进行核查,核查方式需结合现网小区配置及现场勘测或设计图纸对比完成。
6 结束语
本文通过对王者荣耀游戏进行端到端用户体验分析,找出游戏中不同阶段影响用户感知的因素,对影响用户感知的因素进行差异化分析并提出相应的解决措施,建立了一套王者荣耀体验提升解决方案,并且结合实际感知和理论基础找出了一套针对王者荣耀的感知,在各网元进行排查及优化分析方法,为后续其他端到端业务的的优化与处理提供了优化指导意见。
作者简介:
陈旻,毕业于上海市东华大学,本科,主要从事重点场景管控、重要活动保障、重点业务优化等工作;姚赛彬,毕业于上海交通大学,硕士,主要从事无线网络规划、优化、性能监测,新技术研究等工作;李凌,毕业于重庆邮电大学,学士,主要从事无线网络优化,KPI+、自动化、大数据网优等系统性网优能力研究等工作;黄久成,毕业于华中科技大学,学士,主要从事高速、高架、高铁、地铁优化、语音业务专项优化、NB-IoT网络优化和专项研究、5G研究等工作。