gpt4 book ai didi

watir-webdriver - :response_time, :time_to_first_byte, 和 :time_to_last_byte in watir-webdriver-performance gem? 有什么区别

转载 作者:行者123 更新时间:2023-12-02 05:21:50 25 4
gpt4 key购买 nike

我用谷歌搜索,通过 SO 搜索,并通读了主机上推荐的 Navigation Timing 页面 page , 但无法自行解决。

:response_time:time_to_first_byte:time_to_last_byte 之间有什么区别?

根据我的理解以及导航计时文档,:response_time 似乎应该是 :time_to_first_byte:time_to_last_byte 的总和>,但是在执行我的测试后我发现它不是。

    require 'watir-webdriver-performance'

$response = $browser.performance.summary[:response_time]
$first_byte = $browser.performance.summary[:time_to_first_byte]
$last_byte = $browser.performance.summary[:time_to_last_byte]

def performance_check
puts ("#{$browser.url}: Response time: #{$response}ms.")

puts ("#{$browser.url}: Time to first byte: #{$first_byte}ms.")

puts ("#{$browser.url}: Time to last byte: #{$last_byte}ms.")
end

def test_site_01
$browser.goto("http://www.google.com/")
performance_check
end

我看到的典型输出是:

    http://www.google.com: Response time: 1558ms.
http://www.google.com: Time to first byte: 384ms.
http://www.google.com: Time to last byte: 385ms.

谢谢。

最佳答案

Time to First Byte (TTFB) 是服务器在响应中返回信息的第一个字节所花费的时间。所以这个 gem 中的 TTFB 等同于:


response_start - domain_lookup_start 如果 domain_lookup_start > 0

并将包括 DNS、连接和请求开销。

此 gem 中的最后一个字节时间 (TTLB) 相当于:


response_end - domain_lookup_start

因此应该包括 DNS、连接、请求和响应开销。

因此在您的示例中,在 TTFB 和 TTLB 之间有效地传输内容只需要 1 毫秒。摘要中的响应时间是散列中所有测量的最早和最晚时间戳之间的差值。所以实际上 navigation_start 和 load_end 之间的一切。

这包括规范中可用的所有 DNS、TCP、连接、请求、响应和浏览器处理/加载时间。

在你的代码中,如果你只是转储散列


$浏览器.performance.summary

您应该能够看到所有相关指标。

关于watir-webdriver - :response_time, :time_to_first_byte, 和 :time_to_last_byte in watir-webdriver-performance gem? 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13711653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com