TL;DR

ブラウザがページをリクエストしてから、サーバからレスポンスの最初のバイトを受け取るまでの時間。リクエストの開始からレスポンスの開始までをミリ秒で表す。

仕組み

TTFB には、DNS の名前解決、TCP ハンドシェイク、HTTPS の場合は TLS ハンドシェイクで接続を確立する時間が含まれる。Navigation Timing の値を使うと、次の式で求められる。

TTFB = responseStart - navigationStart

web.dev では、0.8 秒以下を良好、1.8 秒を超えると改善が必要としている。ただし TTFB は Core Web Vitals の指標ではないので、目安として扱う。

例

各ブラウザの開発者ツールで確認できる。Chrome DevTools では、「ネットワーク」タブで任意のリクエストを選び、「タイミング」タブを開くと表示される。

注意点

TTFB が 0.8 秒を超えていても、Largest Contentful Paint など他の指標に悪影響がなければ、必ずしも問題ではない。サーバでレンダリングするサイトは、クライアントの JavaScript で描画する SPA より TTFB が長くなりやすい。

関連

出典