Chrome Devtools中低于500字节的HTTP响应的高“接收时间”

时间:2011-12-12 14:00:27

标签: google-chrome google-chrome-devtools

在Windows 7和Windows上使用Chrome 15(稳定版)上的devtools网络标签时 在Windows XP中,我看到了“接收”HTTP时间的情况 响应是> 100毫秒,但响应是302重定向或小图像 (信标) - 有效载荷低于500字节(标题+内容)。

在Wireshark上捕获TCP流量清楚地显示服务器已发送 单个TCP数据包中的整个HTTP响应,因此应该接收时间 已经是0.一个很好的例子是CNN主页,或任何有很多的主要网站 广告和跟踪信标。

这提出了几个问题:

  1. chrome devtools中定义为“接收”的是什么?是时候了 从第一个数据包到最后一个数据包?
  2. 客户端计算机/操作系统中的哪些因素会影响 “接收”时间,在网络/服务器通信之外?
  3. 在我的测试中,我使用的是Windows XP虚拟机,而Windows 7 在桌面上(四核,8GB内存)。

2 个答案:

答案 0 :(得分:1)

  1. “接收时间”是网络层报告的didReceiveResponse(“响应报头收到”)和didReceiveData(“收到的响应数据块”)WebURLLoaderClient事件之间的时间,因此可能会应用一些内部处理开销。 / LI>
  2. 在一般情况下,请记住HTTP协议是面向流的,因此TCP数据包之间的数据划分是不可预测的(一半的标头可能会进入一个数据包,其余部分和响应主体可能会得到进入下一个,虽然这似乎不是你的情况。)
  3. 尽可能使用最新版本的Chrome。它可能包含较少的错误,包括网络层: - )

答案 1 :(得分:1)

Nagle算法和延迟ACK算法是两种拥塞控制算法,在Windows机器上默认启用。这些将导致小有效载荷的流量延迟,以试图减少TCP / IP的一些混乱。

在接收小型有效负载时,延迟确认将在Chrome的网络选项卡中导致约200毫秒的额外“接收”时间。这是一个网页,解释了算法以及如何在Windows上禁用它们:http://smallvoid.com/article/winnt-nagle-algorithm.html