网络优化概述
- 网络优化的维度是
多维的; - 仅仅重视流量是不够的,流量只是网络优化的一个维度;
- 网络流量的消耗量统计,要
全面、精确; 【注意整体均值(一段时间内APP消耗的流量)掩盖单点问题(某个功能消耗的流量)】 很多时候在做网络流量统计上, 我们只是获取一个具体消耗多少的值, 但是这个值只能显示用户用了多少流量, 对于我们发现以及解决问题其实没有丝毫的帮助; 【整体均值掩盖单点问题】 比如线上用户反馈一个APP消耗流量比较多, 但是如果我们不知道 这个用户对这个APP的使用总时间,其实是不好断定的; 如果使用时间久,那消耗流量多,很可能是正常的; 又如, 用户可能反馈一个APP在后台消耗流量比较多, 如果只有一个值,其实也是无法断定APP是在后台消耗流量比较多; - 网络优化应该建设
全面、完善的网络监控体系; 【粗粒度监控不能帮助我们发现、解决深层次问题】 比如 做网络请求成功率的监控,但是仅仅这个值, 我们只能知道线上用户大概的网络使用情况; 这种粗粒度监控不能帮助我们发现、解决深层次问题; 比如, 线上用户使用了某一个功能,使用了一千次,出现了一次异常, 而且用户点击重试之后,就又正常了, 这样单从数量来看,网络请求的成功率还是比较高的; 但是仅仅通过网络请求成功率这一个值, 要去知道这一次异常出现的原因 以及想来寻找相关的解决办法, 其实也是不可能的; 【数据粗糙,反映程度有限】
网络优化维度
@· 流量消耗维度
- 必须做到能够知道用户在
一段时间内流量消耗的精准度量, 在不同的网络类型的流量消耗、前后台的流量消耗; 【即用户消耗的流量是在前台还是后台,是用的流量还是WiFi】 只有累积多维度的数据, 才能更敏锐地发现问题,更快捷地断定和解决问题; - 监控要点:
用户流量消耗均值、异常率(异常即一定时间内流量消耗过多,网络请求次数过多, 下载过的文件过大) - 最理想情况:
对所有的
网络请求,本地都有一个完整的监控; 每一个请求的Request、Response相关的所有信息,都能全部记录下来,服务端可以下发指令控制本地上传;客户端也可以在超过阈值之后,主动上报;
@· 网络请求质量维度
- 影响用户体验:请求速度快慢、成功率高低
- 监控要点:请求时长、请求业务成功率与失败率、Top失败接口
@· 其他维度
- 流量大影响公司成本:影响带宽、服务器数、CDN等开支;
- 影响耗电量;
网络优化误区
- 只关注流量消耗,忽视其他维度;【不够全面】
- 只关注均值、整体,忽视个体
参考:
- 慕课网


