ios - 测量建立tcp连接所消耗的时间,基于HTTP的API请求,改进网络IO的时间消耗也是一种用户体验的提升。
迷茫
迷茫 2017-04-17 11:45:29
0
2
303

但凡做移动开发的人,必然都会反复提到用户体验,在网络上消耗很长时间的应用也属于 不好的用户体验。测量用户真实的在网络上消耗掉的时间是一个很重要的事情

记录设备HTTP请求时,建立tcp连接消耗的时间,服务端响应数据时用了多长时间接收了 多少数据,设备所在地域、时间、运营商等来分析用户的网络情况,借此数据才能知道哪 些地方需要改进。

通常我们最直接的感受到服务器响应请求的时间,是由几个部分组成:

  • TCP协议三次握手,也就是socket建立连接的时间。
  • 服务端程序的执行时间,例如Django的代码执行和MySQL的查询等。
  • 数据接收,这个不难理解,就是服务器输出的内容到达设备的时间。

以上三个部分当中,TCP连接的所消耗的时间是也是一个非常重要的指标。

ASIHTTPRequest提供了测量连接时间的能力,因为它是基于CFNetworkNSURLConnection就没有这种能力了。所以想要对ASIHTTPRequest有经验的开发者提 示如何Hook建立连接成功的时候。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

Antworte allen (2)
刘奇

最简单就是用Socket建立TCP链接,看看要花多少时间,HTTP是应用层协议,它也要使用TCP实现。如果你没用过Socket,就需要补一补了。搜索「Linux Socket编程」,这种底层技术基本是通用的。

    左手右手慢动作

    1.简单直接的话有第三方网站可以帮忙监测,如https://rpm.newrelic.com(具体怎么配置可以参考网站的教程)

    2.如果要自己检测,可以再请求开始的代理纪录下开始时间,在请求返回值/failed 来计算和开始时间的时间差。

      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!