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

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

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

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

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

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

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

迷茫
迷茫

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

全部回复(2)
怪我咯

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

ringa_lee

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号