サーバーの応答時間を短縮する

Lighthouse レポートの [最適化] セクションには、サーバー レスポンス時間が表示されます。これは、リクエストを行ってからユーザーのブラウザがページ コンテンツの最初の 1 バイトを受信するまでにかかる時間です。

Lighthouse サーバーの応答時間が短い監査を示すスクリーンショット

サーバーの応答時間が遅いとパフォーマンスに影響する

サーバーがメインのドキュメント リクエストに応答するまでに 600 ミリ秒以上待機すると、この監査は失敗します。ユーザーは、ページの読み込み時間が長いことを嫌います。サーバーの応答時間が遅いことは、ページの読み込みが長い原因の 1 つと考えられます。

ユーザーがウェブブラウザで URL にアクセスすると、ブラウザはそのコンテンツを取得するためにネットワーク リクエストを行います。サーバーがリクエストを受信し、ページ コンテンツを返します。

サーバーが求めるコンテンツがすべて含まれたページを返すには、多くの処理が必要になる場合があります。たとえば、ユーザーが注文履歴を確認する場合、サーバーはデータベースから各ユーザーの履歴を取得して、その内容をページに挿入する必要があります。このような処理をできるだけ早く実行するようにサーバーを最適化すると、ユーザーがページの読み込みを待つ時間を短縮できます。

サーバーが大量の処理を行う必要がない場合でも、クライアントとサーバー間のネットワーク レイテンシにより、サーバーの応答時間が遅くなる可能性があります。

サーバーの応答時間を改善する方法

サーバーの応答時間を改善する最初のステップは、サーバーがページ コンテンツを返すために完了する必要がある基本的なタスクを特定し、各タスクにかかる時間を測定することです。最も時間のかかるタスクを特定したら、それをスピードアップする方法を探します。

サーバーの応答が遅くなる原因はさまざまで、改善方法も多数考えられます。

  • サーバーのアプリケーション ロジックを最適化して、ページを短時間で準備します。サーバー フレームワークを使用している場合は、その方法について推奨事項がある場合があります。
  • サーバーからデータベースにクエリを実行する方法を最適化したり、より高速なデータベース システムに移行したりできます。
  • サーバー ハードウェアをアップグレードして、メモリや CPU を追加する。

CDN を使用してネットワーク レイテンシを短縮する。これは、CDN エッジノードでドキュメントをキャッシュできる場合に特に効果的です。

詳しくは、TTFB の最適化ガイドをご覧ください。

スタック固有のガイダンス

Drupal

テーマ、モジュール、サーバー仕様はすべてサーバーの応答時間に影響します。より最適化されたテーマを見つけるか、最適化モジュールを慎重に選ぶか、サーバーをアップグレードすることを検討してください。ホスティング サーバーでは、PHP オペコード キャッシュ、Memcached や Redis などのメモリ キャッシュ システムを活用してデータベースのクエリ時間を短縮するとともに、ページをより迅速に準備するために最適化されたアプリケーション ロジックを利用する必要があります。

Magento

Magento の Varnish 統合を使用します。

対応

React コンポーネントをサーバー側でレンダリングする場合は、renderToNodeStream() または renderToStaticNodeStream() を使用して、クライアントがマークアップの異なる部分を一度に受信してハイドレートできるようにすることを検討してください。

WordPress

テーマ、プラグイン、サーバー仕様はすべてサーバーの応答時間に影響します。より最適化されたテーマを見つけるか、最適化プラグインを慎重に選ぶか、サーバーをアップグレードすることをご検討ください。

関連情報