爱奇艺iOS移动端网络优化实践 | 请求成功率优化篇


移动应用APP的网络优化三大重点方向即成功率、耗时与流量。其中,APP成功率即网络请求成功率,他的重要性直接体现于它能直接决定APP服务的可用性,直接影响到视频播放、广告展现、支付便捷等服务质量。本文将介绍爱奇艺APP对网络请求成功率优化的实践之路。

导致请求失败的因素

       想要优化请求成功率先来了解移动端网络请求全链条可能导致请求失败的环节有哪些,这些环节往往由以下两类因素导致:

第一类,不可改善因素

  1. iOS系统对APP的网络访问权限控制、飞行模式或者无网络连接。检测和识别这三种情况,通过适当方式提示用户。

  2. 路由器故障。

第二类,可以改善因素

  1. 蜂窝/Wifi信号的强弱、连接拥堵的假连接状态。

  2. DNS故障。

  3. 运营商局部节点故障。

  4. 自有运营负载均衡故障。

  5. 业务服务器故障。HTTP响应错误,对应APM的HTTP响应错误率。

  6. 业务逻辑错误。监控子类解析结果,对应APM的解析错误率监控。

对于不可改善因素,目前只能通过网络诊断识别出故障类型,引导用户手动去授权访问网络或者连接可用网络。其中,如果是路由器故障,可以引导用户重启路由器或者切换4G。通过爱奇艺APP的数据监控,大致可以看到用户无网连接的时长占比有3.8%左右,这说明提供好的无网提示变得十分重要,而从用户使用蜂窝信号的弱信号(0格和1格信号)时长占比有9%左右时长,也可以看出移动端网络环境的复杂性。

针对可以改善的因素可大致分为三类:

  1. 网络层错误,对应因素1到4。主要体现为超时报错;

  2. HTTP响应错误,对应因素5。HTTP状态码为400及以上;

  3. 解析错误,对应因素6。由基线网络库定义的重载接口进行监控。

为了提高网络请求成功率,首先需要建立监控体系,从而使得基线网络库能够通过网络统计模块向APM投递各种维度的网络请求数据。有了APM的数据统计后,才能有效的发现导致端上网络失败的原因,进而解决问题。除此之外,由于端上网络请求数据巨大,存储空间的限制使得APM只能采样2%的用户,因此针对重点业务的网络请求(比如首页)则进行了全量采集,从而对成功率的优化实现更客观全面的评估。

基线网络库针对不同业务手段

在优化之前,通过APM的归类分析可以得出࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值