11.6 日志与 App 性能
日志这玩意儿非常强大,关键看你会不会用。
在Android日常开发中,我会输出每次调用MobileAPI时的接口地址、返回的JSON字符串。但是这还远远不够。
对于一次完整的请求,我们需要记录以下信息:
1)发起请求的时间点,注意这个时间不是点击请求按钮的时间点,而是点击请求后调用HttpRequest执行一次MobileAPI网络请求的那个时间点。
2)接收到MobileAPI网络请求的响应时间。注意这个时间点,是接收到JSON字符串的时间。
3)从客户端接收到JSON字符串到页面生成的时间。这主要用于测试列表页的生成时间,用于优化列表页的加载性能。
将1)和2)这两个时间点相减,得到调用一次网络接口的时间,这期间包括服务器处理该请求的时间,以及来回传输数据的时间。我们请MobileAPI将每次响应的时间记录在HttpResponse响应头中,返回给客户端,就可以计算出每次请求中到底哪一段最耗费时间。
以上就是客户端网络性能的检测方案。我们将这些信息作为日志记录到SD卡上。每天晚上跑Monkey,基本上每个页面都会走好几遍,那么每个MobileAPI接口的性能数据就都能得到了。
每天只在WiFi网络环境下跑Monkey测试,是得不到真实的数据的。跑Monkey测试时一定要使用2G、3G和4G,虽然多花点钱,但是能模拟出大部分用户的真实性能数据,其中哪个页面是痛点就一目了然了。
另一种采集性能数据的做法就是把每次MobileAPI的性能数据放在内存中,然后每隔半分钟就发送到服务器,由服务器进行分析。这种解决方案的缺点就是一旦没有网络,MobileAPI网络请求就会在客户端产生积压,所以要对积压过久的网络请求及时清理。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论