扫码业务时延端到端优化研究
2021-12-08赵怀民
赵怀民
(中国电信股份有限公司北京分公司,北京 100031)
1 背景概述
在当前疫情防控常态化背景下,健康码扫码业务量大幅增加;同时随着新型金融支付的发展,手机移动扫码支付应用全面普及,扫码业务量增长迅猛。伴随着扫码业务的大量应用,用户对扫码业务感知的要求也越来越高,扫码业务时延已成为影响用户满意度的重要因素之一。因此,端到端分析扫码业务时延性能并针对性地优化提升成为当前的一项重要工作。
2 扫码业务识别
2.1 常见扫码业务
扫码业务主要包括手机移动支付(微信、支付宝等)、健康宝扫码、公交地铁扫码、共享单车扫码,其业务模型基本相同,下面以微信扫码业务进行分析说明。
微信主流支付场景有扫描二维码付款、出示付款码付款、APP支付、公众号支付、红包支付、转账支付。2018年某机构调查,89.5%的用户最常使用客户端扫码或出示二维码支付,23.7%的用户经常使用商户客户端跳转到支付客户端支付。扫码或出示付款码是最常见的支付方式。
图1 微信支付场景
2.1.1 微信扫码支付业务流程
微信支付有多个动作,每个动作间隔跟用户行为有关,付款后通常会收到付款通知,为非实时流程-可以晚通知。
2.1.2 微信扫码支付网络数据特征
图2 微信扫码支付流程
微信支付的每一步动作至少包括一个TCP连接,完成该动作后TCP释放,TCP生命周期0.5秒左右,与特定的服务器主机做数据交互。
图3 微信扫码支付抓包
2.2 健康码、支付等业务识别
北京电信SEQ(Hadoop)实现XDR话单存储,平台实现用户详单存储以及小区级别指标汇聚,通过上述功能对支付宝、健康码等业务识别流程如下:
(1)通过探针协议标识支付宝、微信支付、健康码等协议,当发生业务时会用特定协议ID标记出相应业务。
(2)通过XDR话单HTTP表和OTHER表中的SERVER_IP,PROT_TYPE字段,匹配特定业务协议ID筛选出业务的XDR话单。
(3)根据XDR话单筛选有支付宝支付、微信支付、健康码业务的IP,通过IP下对应扫码业务量(即业务发生次数)占该IP总业务量占比比例,确定该IP是否为某扫码业务的重点IP。通过查询发生业务的域名业务量占比得到该业务域名。
(4)多次拨测扫码进行相应业务,通过端到端平台提取测试号码测试业务的协议对应IP/域名是否与XDR话单一致。
注:XDR=详单,用户面和信令面详单的统称,包括CDR和UFDR、TDR和SDR。
3 影响扫码业务时延的因素及分析
扫码业务是一个端到端的业务流程,涉及终端、无线、传输、核心网、应用服务器等多个环节,任一环节存在问题都会影响用户感知。
图4 扫码业务端到端示意图
3.1 无线网络影响
无线网络所涉及的空口受环境、用户分布等影响较大,在影响扫码时延的各个因素中最为复杂。无线网络影响扫码时延的几个主要因素包括如下几点:
(1)高负荷:交通枢纽、地铁、热门景区等人流密集场景高负荷导致空口数据传输延迟,对扫码业务感知有一定影响。
(2)覆盖类:弱覆盖、重叠覆盖等场景空口质量差,对扫码业务感知有一定影响。
(3)上行干扰:硬件问题、参数设置不合理、外部干扰导致的上行干扰对扫码业务感知影响明显。
(4)故障类:基站/RRU断链、传输闪断丢包、小区驻波等故障会对空口性能、传输质量产生影响,进而影响扫码业务感知。
3.2 传输网络影响
部分传输环负荷高,节点存在告警,忙时存在拥塞或丢包现象,对用户的扫码时延也有较大影响。通过把扫码时延高小区与B1设备关联,得到可能影响扫码时延的B1设备,供传输部门重点排查。
3.3 服务器及互联网影响
服务器的性能对扫码业务的影响主要体现在如下几个方面:
(1)服务器传输层参数设置:TCP窗口大小,带宽、服务器参数设置等;
(2)服务器运行问题:CPU、内存使用率过高、硬盘转速等;
(3)服务器故障:网卡故障、丢包等。
3.4 终端影响
不同的终端类型处理能力存在差别,对应的扫码时延也有差别。北京电信终端用户数占全网用户数占比在0.5%以上的主流品牌终端有41个,统计各品牌终端响应时延,其中APPLE、HUAWEI、OPPO TOP终端平均时延感知较好,排名前3,分别为51.67ms、68.41ms、76.78ms。
4 优化措施及效果
4.1 无线网络空口优化
同一站点如果仅有个别小区存在扫码时延差,往往是空口问题导致。对于空口问题导致的扫码业务时延差,有以下解决方案:
(1)对于故障站点或周边存在故障站点的,首先需要进行故障处理。
(2)若是高负荷站点,则进行高负荷站点扩容。
(3)若是弱覆盖站点,则通过RF优化增强覆盖、共享附近联通站点、加站等措施解决。
(4)若是高干扰站点,则通过干扰排查、优先驻留非干扰小区等策略优化解决。
除此之外,无线网络空口优化还可以进行参数优化,主要包括基于业务识别的空口加速方案及日常普适性空口性能优化方案。
(1)方案一:空口加速方案。空口加速是通过业务识别实现对用户做特定业务的一种保障特性。业务识别有多种方式,比如基于SC(Service Classification)的业务识别、基于DSCP(Differentiated Service Code Point)的业务识别等。其中基于SC的业务识别是通过流量模型来判断,主要在eNodeB侧实现,不依赖于其他设备,对访问特定的DNS/IP地址或应用的用户进行加速保障。
(2)方案二:空口性能方案。空口性能优化方案主要通过修改基站侧参数实现小包业务提升,主要涉及调度参数优化、干扰优化、上行覆盖增强、定时器相关参数优化等,达到降低微信支付、健康码时延的问题。
4.2 其他方面优化
对于非空口问题导致的扫码时延差问题,需要分情况处理:
(1)对于传输问题,如传输存在闪断、传输拥塞,转至传输部门清理告警、统计环路是否负荷高,并进行相应的处理或扩容。
(2)对于识别出来的TOP服务器,后续打通前端优化流程,分析服务器本地化部署可能性。
(3)对于扫码业务感知差TOP终端,做好记录,在有相关投诉时做好解释工作。
4.3 优化效果
对比优化前后各7天日均TCP平均时延指标。实施小区健康码与微信支付时延改善明显。
图5 优化前后TCP时延对比
5 结束语
本文针对端到端扫码业务优化,分析了无线网络、传输网络、服务器侧及终端侧对扫码业务感知的影响,并重点分析了各类无线网络问题的影响和解决方案,为后续持续优化提供了思路和方向。