随着移动互联网的不断发展,用户的上网习惯已经由传统的 PC 端正式转向移动端,APP开始进入高速发展阶段,APP网络的性能问题自然而然地就成为广大 APP 开发者关注的焦点。那么如何找到影响移动应用网络性能的那些原因呢?
OneAPM的Mobile Insight网络请求分析功能是 Android APP 开发者的必备利器,它不仅会自动统计每一个网络请求的响应时间、吞吐量、错误率,还会统计出在不同地域、使用不同运营商访问 APP 的性能。
首先,一个 UI 绚丽、功能强大的 APP,直接影响用户体验的因素是网络响应时间。比如用户正在一个平台上进行网购,如果提交表单之后不能立刻得到反馈,这种感觉就会很糟。
我们可以在网络请求视图中看到每一个请求的平均响应时间、总响应时间和传输的数据量,根据这些数值来判断是否因为网速太慢或者传输的数据量过大,而导致网络请求的响应时间过长,从而有选择性地优化网络以及网络请求操作的代码,来不断提升用户的网络访问体验,尽可能让用户点击之后立刻就能得到反馈。
其次,在网络稳定的情况下,网络错误就成为了影响用户体验的罪魁祸首。由于移动端访问的第三方网络服务故障或者地址变更等问题,会导致 APP 无法访问这些服务,从而间接地使用户体验下降。
用户可以利用发生错误的域名、状态码和故障类型来分析错误信息:
域名:左边列表部分主要展示 APP 访问的域名的错误率百分比排行,我们可以找到发生 HTTP 错误率最高的前五个域名,发生网络故障率最高的前五个域名,以及错误的 traces 信息。
我们还可以点击 traces 列表里的 trace 名称查看 trace 详情, trace 详情可以帮助用户了解 HTTP 错误的状态码是多少,错误的次数是多少,以及发生错误的地域、运营商、接入方式是什么。
如果用户想看引起错误的原因是什么,就可以通过 Stack Trace 查看错误堆栈信息来定位错误的代码,从而判断是代码逻辑的问题,还是访问服务的 API 问题。
状态码:左边列表部分主要展示发生 HTTP 错误的状态码的比率, HTTP 错误状态码包括 403、404、 422、500、502 等等,点击相应的状态码,我们就可以知道错误状态码总错误率是多少,影响的域名有哪些,以及错误的详情列表,同样我们也可以点击错误详情名称来查看错误详情的信息。
故障类型:左边列表部分主要展示发生网络故障的比率,网络故障主要包括安全连接失败、请求超时、无法连接至网络、连接 Host 失败等,用户可以通过网络故障率知道相应故障类型的比率是多少,影响的域名有哪些。
最后,如果想考虑更全面地话,我们也可以看看不同地域和运营商对 APP 访问速度的影响。在下面两张图中,分别展示了不同地域和运营商访问 APP 的响应时间:
根据地域和运营商网络响应时间的数据,我们就可以采取多运营商多地部署服务器的方式,进而提升在不同地域、使用不同运营商访问 APP 的速度。
其实,在移动互联网时代,最重要的就是网络速度,就是用户体验。对移动开发者来说,如果移动应用的性能有问题,就很难在这场激烈的市场竞争中生存。如果你想提升移动网络的性能,不妨试用一下OneAPM的Mobile Insight产品吧!
备注:以上所有截图均出自OneAPM Mobile Insight产品