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

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

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

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

サーバーがメイン ドキュメントのリクエストに応答するまでブラウザの待機時間が 600 ミリ秒を超えると、この監査は失敗します。ページの読み込みに時間がかかると、ユーザーは不満を感じます。ページの読み込みに時間がかかる原因として、サーバー応答時間が遅いことが挙げられます。

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

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

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

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

サーバー レスポンス時間を改善するための最初のステップは、ページ コンテンツを返すためにサーバーが完了する必要があるコアコンセプトのタスクを特定し、各タスクにかかる時間を測定することです。最も時間のかかるタスクを特定したら、そのタスクを高速化する方法を探します。

サーバー レスポンスの遅延には多くの原因が考えられるため、改善方法も数多くあります。

  • ページの準備を速くするために、サーバーのアプリケーション ロジックを最適化します。サーバー フレームワークを使用している場合は、そのフレームワークにおすすめの方法が記載されている場合があります。
  • サーバーがデータベースにクエリを実行する方法を最適化するか、より高速なデータベース システムに移行します。
  • サーバー ハードウェアをアップグレードして、メモリまたは CPU を増やします。

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

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

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

Drupal

Internal Page CacheInternal Dynamic Page CacheBigPipe などの 1 つ以上の Drupal キャッシュ モジュールを使用してトラフィックをオフロードします。これらを CDN と組み合わせることで、応答時間をさらに短縮できます。ホスティング サーバーは PHP OPcache を利用する必要があります。Redis や Memcached などのメモリ キャッシングを使用して、データベースのクエリ時間を短縮することを検討してください。最後に、パフォーマンスの高いテーマ、モジュール、より高速なサーバーを使用して、サーバーの応答時間を短縮します。

Magento

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

対応

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

WordPress

軽量のテーマ(ブロックテーマが理想的)を選択し、ページ全体のキャッシュ保存または静的サイト ソリューションを実装します。不要なプラグインを無効にして、サーバーのオーバーヘッドを最小限に抑えます。

ホスティングをマネージド サービスまたは専用サービスにアップグレードすることを検討してください。

リソース