2

私はグーグルで検索し、SOを検索し、ホストページで推奨されるナビゲーションタイミングページを読みましたが、自分で解決できませんでした.

:response_time:time_to_first_byte、 とはどう違い:time_to_last_byteますか?

私の理解と、Navigation Timing のドキュメントからは、 と: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.

ありがとうございました。

4

1 に答える 1

5

Time to First Byte (TTFB) は、サーバーが応答で情報の最初のバイトを返すのにかかる時間です。したがって、この gem の TTFB は次と同等です。

response_start - domain_lookup_start if domain_lookup_start > 0

DNS、接続、および要求のオーバーヘッドが含まれます。

この gem の Time to Last Byte (TTLB) は次と同等です。

response_end - domain_lookup_start

DNS、接続、リクエストとレスポンスのオーバーヘッドを含める必要があります。

したがって、あなたの例では、TTFB と TTLB の間でコンテンツを転送するのに効果的に 1 ミリ秒しかかかりませんでした。要約の応答時間は、ハッシュ内のすべての測定値の最も古いタイムスタンプと最新のタイムスタンプの間のデルタです。したがって、実質的には、navigation_start と load_end の間のすべてです。

これには、仕様で利用可能なすべての DNS、TCP、接続、要求、応答、およびブラウザー処理/ロード時のタイミングが含まれます。

ハッシュをダンプするだけの場合、コードで

$browser.performance.summary

関連するすべてのメトリックを表示できるはずです。

于 2012-12-04T21:10:47.890 に答える