【问题标题】:Browsermob har timings seem offBrowsermob har 时间似乎不对
【发布时间】:2016-09-11 14:44:37
【问题描述】:

我能够通过browsermob-proxy-2.1.2 获得 Selenium 驱动 Starting ChromeDriver 2.23.409699 并且可以访问 HAR 数据,但是时间似乎很奇怪,特别是对于 SSL 站点。

例如,对网站本身进行第一次提取,根据时间安排:

@ 512ms 从开始第一个请求到页面:

  • 连接:1,306ms
  • SSL:1,293 毫秒
  • 发送:1ms
  • 等待:16 毫秒
  • 接收:6 毫秒

然后@576ms(页面后64ms)对引用样式表的第二个请求发出:

但据我所知,该请求 #2 中的时间重叠在页面仍在等待连接(SSL 和连接)时消失。下图显示它们重叠。

任何想法我做错了什么或误解?

【问题讨论】:

  • 你有 har 的链接吗?屏幕截图有点难以理解。

标签: selenium-webdriver browsermob-proxy


【解决方案1】:

总结您的数据:

  • 您开始捕获
  • 在 512 毫秒时向 HTML 主页面发送了一个请求
  • 在 576 毫秒时对样式表有另一个请求。这发生在第一个请求完成之前

SSL 握手不太可能需要整整 1293 毫秒。 http://www.semicomplete.com/blog/geekery/ssl-latency.html 列出了完整事务(包括握手)的 68 毫秒到 408 毫秒的时间。检索https://www.mozilla.org/en-US/about/也是一样的:

作为猜测,谷歌又在 Chrome 上做了一些聪明的事情。

  1. 开始 TCP+SSL 握手,
  2. 然后开始下载主 HTML。
  3. HTML 到达的同时,被解析,并且
  4. 一旦遇到样式表引用,它也会被下载(在 HTML 传输结束之前)。

这些需要在单独的线程中进行才能使这种优化发挥作用,但它可以很好地减少网络下载时间(这似乎是 Chrome 的主要目标之一)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-19
    • 2016-10-09
    • 2019-10-09
    • 2023-03-29
    • 2016-11-04
    • 2019-02-02
    • 1970-01-01
    • 2017-08-22
    相关资源
    最近更新 更多