从我的应用程序上传速度太慢,我想收集一些真实的数据,以了解在哪里花费时间。我如何测量在iOS中花费的网络时间的细分?
举例来说,这里有几个阶段的请求经过:
- 初期无线连接
- DNS查询(在EDGE延迟显著源)(如果没有被缓存)
- SSL/TLS握手。
- HTTP请求上传,包括数据。
- 服务器处理时间。
- HTTP响应下载。
我可以解决其中的大部分问题(例如,通过虚拟请求,建立一个虚拟的HTTP 1.1连接等等),但我想知道哪些实际上对网络有贡献实际设备上的慢度,以及我的实际数据,使用实际的蜂窝塔。
如果我使用的是WiFi,我可以使用Wireshark和一些同步时钟跟踪一堆这些,但我需要手机数据。
有没有什么好的方法来获得这个详细的故障,短(gak!)使用非常低级套接字函数来重现我的香草http请求?
当你说慢我们说话有多慢? – 2010-12-22 00:33:44
大约3-10s。但为了达到特定的目的,我真的希望将其削减至1-3秒。服务器处理只是其中的一小部分。我可以在启动时间和上传大小之间进行一些权衡(例如,通过执行更昂贵,积极的数据压缩)。我根据记录的EDGE/3G延迟和带宽做了一些信封,但我宁愿根据真实的观察数据做出这样的决定。 – 2010-12-22 00:38:19