但凡做移动开发的人,必然都会反复提到用户体验,在网络上消耗很长时间的应用也属于 不好的用户体验。测量用户真实的在网络上消耗掉的时间是一个很重要的事情
记录设备HTTP请求时,建立tcp连接消耗的时间,服务端响应数据时用了多长时间接收了 多少数据,设备所在地域、时间、运营商等来分析用户的网络情况,借此数据才能知道哪 些地方需要改进。
通常我们最直接的感受到服务器响应请求的时间,是由几个部分组成:
以上三个部分当中,TCP连接的所消耗的时间是也是一个非常重要的指标。
ASIHTTPRequest
提供了测量连接时间的能力,因为它是基于CFNetwork
,NSURLConnection
就没有这种能力了。所以想要对ASIHTTPRequest
有经验的开发者提 示如何Hook建立连接成功的时候。
最简单就是用Socket建立TCP链接,看看要花多少时间,HTTP是应用层协议,它也要使用TCP实现。如果你没用过Socket,就需要补一补了。搜索「Linux Socket编程」,这种底层技术基本是通用的。
1.简单直接的话有第三方网站可以帮忙监测,如https://rpm.newrelic.com(具体怎么配置可以参考网站的教程)
2.如果要自己检测,可以再请求开始的代理纪录下开始时间,在请求返回值/failed 来计算和开始时间的时间差。