华为NB网络,外场测试发现上下行ping时延不一致,下行ping时延约是上传的两倍,排查分析原因。
【问题描述】
NB终端在近点测试时上下行ping包时延不一致,定点RSRP=-45,SINR=30;上行ping时延在400ms左右,下行ping时延在800ms左右。
为验证服务器和ping包方式不同导致的差异,特进行了多个站点的测试,得出为普遍性问题,与外在因素无关,此现象确实存在。
【处理方法】
一、参数排查
不活动定时器配置300s,ping间隔为2s,因此ping测试为连接态测试,排除下行寻呼周期带来的影响。
二、关DRX,采集CellDT
测试验证
上行ping测试结果:平均738ms
下行ping测试结果:平均1950ms
下行ping测试分析
S1口RRC层的ping包码流均为一致的,参看下图:
空口ping包RRC层信令码流:
统计挑选三条空口时延(eNB RRC-UE-eNB RRC)较大的下行ping包:
对齐eNB侧标口和UE侧log:
eNB侧RRC层收到Msg3时刻:20:32:13.173;终端RRC层发送Msg3时刻:20:32:20.627。两侧RRC层收发时间差:Ue比eNB快7.454s(7.454=20:32:20.627-20:32:13.173)。
eNB RRC层发送->RRC层收到总时延为:1840ms。
分析第一个ping包:
UE侧L1在20:33:30.468时刻接收下行数据,在20:33:31.119时刻发送完上行数据:因此侧次ping包终端侧处理时延:651ms。
因此,eNB RRC->eNB L1+eNBL1Ue L1(空口)+ eNB L1-> eNB RRC的时延为:1189ms=1840-651。
UE RRC层接收时刻:20:33:30.477
eNB和UE时差再次对比:
之前我们已知,UE RRC发送Msg3和eNB RRC接收Msg3之间的时差是:Ue比eNB快7.454s。
UE RRC层接收时刻:20:33:30.477
eNB RRC层发送时刻:20:33:21.758
说明Ue接收或者eNB发送延迟了:1.265s=8.719-7.454。
此次ping包RRC层数传发送和接收的时差:Ue比eNB快8.719s。
此次ping包的上一次ping包时差:
在对比此次ping包上一次ping包的RRC层之间的时差:7.596s=20:33:27.342-20:33:19.746
eNB发送时刻:20:33:19.746
UE接收时刻:20:33:27.342
小结:
说明下行高时延ping包,时延主要是eNB侧发数据延迟导致。
3.CellDT分析
下行ping包时的下行调度:
错误码40704代表调度成功;41123代表因为休眠期调度失败;39696代表还未到达算法规定的调度窗口中。
从下图中看到大多数调度失败为因为休眠期调度失败。
上行ping包时的下行调度(调度成功测试明显多于上行ping包):
确认关闭DRX后,终端下行ping时延从1300ms->716ms基本和上行ping包时延一致。
该参数对上行影响不大:均为700+ms。
【问题总结】DRX对上下行ping的影响差异
eNB的Pdcch周期如下:
覆盖等级0场景下为32ms=8*4。
eNB NBDRX参数配置:则OD和IV配置均为96ms=3*32.
终端侧内部处理时长在600ms左右,因此传输的时延基本在100ms以内:
由于NBDRX周期为2048ms,激活期为96ms,基本可以认为终端在96%的几率都处于静默期。此时上下行ping的差异如下:
上行ping:
终端在静默期时有上行数据要发送时,UE会进行一次重同步然后将DRX状态转换为激活期(持续100+ms),然后由于传输本身的时延在100ms以内,因此在终端上行ping之后,服务器的回包基本都能赶在激活期结束而直接发送,因此端到端时延基本不受DRX影响。
下图DRX上行ping包,为终端主动发起,从DRX跟踪可以看到一次ping包的起始是终端开始发起重同步,后续通过DRX Inactivity Timer的扩展调度上下行数据,其中V列表示重同步标记位。
下行ping:
下行ping的发起点在服务器,由于服务器本身并不知道eNB和UE的DRX状态,所以其下行ping时发包很大程度(96%几率)上都是在DRX的静默期,此时数据到达eNB时,基站RRC层将数据发送到MAC等待调度(等待下一个OD来临)。
由于DRX静默期为1800ms,因此下行ping时延平均会增加900ms左右。基本与验证情况相符。
我们不生产资料,我们只是网优界的搬运工!
领取专属 10元无门槛券
私享最新 技术干货