TTFB (Time to First Byte) とは、ブラウザがそのページへの移動を開始してから、サーバーからのレスポンスの最初の 1 バイトが届き始めるまでの時間です。サーバーの応答速度を測る最も基本的な指標であり、Web パフォーマンスの出発点です。
TTFB に含まれるのは、リダイレクトに費やされた時間、Service Worker の起動時間、DNS の名前解決、接続と TLS のネゴシエーション、そしてリクエストを送ってからレスポンスの最初の 1 バイトが届くまでの時間です。サーバー内部の処理時間はこの最後の区間に含まれます。そのため TTFB が大きいときは、サーバーの処理が重いのか、それ以前の接続や名前解決の段階で待たされているのかを切り分けて見る必要があります。
Google は Core Web Vitals の補助指標として TTFB を位置づけており、良好な TTFB は 800ms 以下、800ms から 1800ms までが改善の必要な範囲、1800ms を超えると不良としています。短縮 URL のリダイレクトでは、TTFB がリダイレクトレスポンスの返却速度に直結するため、50ms 以下を目標にすべきです。
短縮 URL サービスの TTFB を最適化する手法として、CDN の活用 (ユーザーに近いエッジサーバーからレスポンスを返す)、インメモリキャッシュ (Redis で短縮 URL のマッピングをキャッシュ)、データベースの最適化 (インデックスの適切な設定)、HTTP/2 の有効化 (接続の多重化) があります。
TTFB の測定は、Chrome DevTools の Network パネルのタイミング内訳にある Waiting (TTFB)、Lighthouse のパフォーマンス監査、curl コマンド (curl -w '%{time_starttransfer}' URL)、WebPageTest で行えます。サーバー処理時間とネットワーク伝送時間を分離して測定することで、ボトルネックを正確に特定できます。