速度および負荷テスト
サイトのテストは、特に本番公開前に行いたい作業の一つですが、テストにはさまざまな種類があり、それぞれ方法も異なるため、混同されることがあります。こちらのページでは、代表的なテストである速度テストと負荷テストについてご説明します。
速度テスト
速度テストでは、ページのサイズや読み込みにかかる時間を測定します。サイズが大きい、または処理に時間がかかっているリクエストを特定し、ボトルネックの改善や解消に役立てることができます。
サイトのパフォーマンスを確認したり、弊社への移行、CDNの有効化、新規プラグインやテーマのインストールなどによって、読み込み時間がどのように変化したかを確認したりする際には、速度テストを実行します。
速度テストツールでは、テストを実行した時点でのサイトの読み込み速度が測定されます。キャッシュをクリアした後に初めてページにアクセスする場合や、デフォルトでキャッシュが無効になっているステージング環境をテストする場合は、保存済みのページではなく、その場でページを生成する必要があります。そのため読み込みに時間がかかり、実際の訪問者が体感する速度よりも遅い結果が出る可能性があります。
速度テストを実行する前に、キャッシュとCDNが有効になっており、テスト対象のページに少なくとも一度アクセスしていることを確認してください。
1. キャッシュが有効になっていることを確認する
本番サイトでは、サーバーキャッシュがデフォルトで有効になります。
ステージング環境は開発やデバッグを目的としているため、デフォルトではキャッシュが無効になっています。ステージング環境をテストする場合は、まずステージング環境で「キャッシュ」画面の「サーバーキャッシュ」タブを開き、「利用する」をクリックして、キャッシュを有効にしてください。
2. CDNが有効になっていることを確認する
サイトでCDNが有効になっているかを確認する、または有効にするには、「サイト」>(サイト名)>「キャッシュ」に移動し、「CDN」タブの「CDNを利用する」をクリックしてください。
3. ツールを選んでテストを実行する
続いて、速度テストに使用するツールを選択します。以下のようなツールを利用できます。
- Pingdom
- Google PageSpeed Insights
- WebPageTest
- GTmetrix
- KeyCDN Website Speed Test
- Web Page Analyzer
- YSlow
- Chrome DevTools
- dotcom-monitor
- New Relic
なお、ツールによって使用する指標が異なるため、結果を正確に比較できるよう、毎回同じツールを使用してください。ツールを選んだら、サイトのURLを入力し、テストを実行する場所を選択してテストを開始します。
また、読み込み時間は、訪問者とサイトのデータセンターとの距離によって変わります(距離が離れるほど、TTFBとネットワークレイテンシはどちらも増加します)。データセンターに近い場所と遠い場所の両方からテストすると、訪問者が体感する読み込み速度の幅を把握できます。結果を比較する際は、毎回同じ場所からテストを実行してください。
4. 速度テストを複数回実行する
キャッシュをクリアした後(または初めてキャッシュを有効にした後)の最初のリクエストは必ずキャッシュ「MISS」になります。この時点ではまだページが生成、保存されていないため、最初のテストは最も時間がかかり、正確な結果を得ることができません。速度テストを2〜3回続けて実行し、ページがキャッシュに保存され、キャッシュから配信されるようになってから結果を確認してください。
リクエストがキャッシュから配信されたかどうかは、レスポンスヘッダーで確認できます。
x-kinsta-cache:弊社サーバーから直接配信されたリクエストに表示されます。「MISS」はページがまだキャッシュされていないことを、「HIT」はキャッシュから配信されたことを意味します。x-cache:Kinsta CDNから配信されたリクエストに表示されます。「MISS」はページがまだキャッシュされていないことを、「HIT」はキャッシュから配信されたことを意味します。
ほとんどの速度テストツールでは、テスト結果にレスポンスヘッダーも表示されます。結果を比較する前に、各リクエストの上記ヘッダーを確認し、ページが実際にキャッシュから配信されていることを確認してください。
サイトの表示が遅い場合
一般的な目安として、読み込み時間が2.5秒以下であれば良好、4秒を超えると改善が必要とされています。多くの速度テストツールでは、この指標は「Largest Contentful Paint(LCP)」として結果に表示されます。
読み込みに時間がかかる原因は、サーバー自体ではなく、プラグイン、テーマ、カスタムコードにあることが一般的です。キャッシュとCDNを有効にしても速度テストで継続的に遅い結果が出る場合は、パフォーマンスのトラブルシューティングをご覧ください。ステージング環境のほか、Kinsta APM、New Relic、サーバーログなどを使用して原因を特定する方法をご紹介しています。
負荷テスト
弊社プラットフォームでは、疑似トラフィックを発生させてサイトに負荷をかける負荷テスト(ストレステスト)は禁止されています。詳細については、利用規約をご覧ください。