ブラウザに表示された 1 つの Web ページで、数十件、ときには数百件にのぼる一意の HTTP 要求が生成される場合があります。ブラウザは、すべての応答を受け取った後、ページをレンダリングしてユーザに表示します。
(IE、Firefox、Chrome、Safari など)どのブラウザにも、表示されている Web ページに従って HTTP 要求を生成する独自の方法があります。負荷のシナリオにおいては、HTTP 要求の総数は、同時に閲覧を行うユーザの数に直接関連しています。すべての要求はテスト実行中にサーバにアクセスし、各要求に対する応答が生成されます。
メトリック
システム全体のパフォーマンスをより正確に把握するため、以下の 3 つのメトリックを考慮します。
- 認識されたシステム パフォーマンス - 負荷テスト サーバによって認識されたシステム パフォーマンスです。負荷テスト サーバは、生成された要求と受信された応答のすべてに関連するさまざまなメトリックを測定します。
- 認識されたユーザ エクスペリエンス - 実際のブラウザによって認識された、ページのロード時間です。このメトリックは、ユーザ エクスペリエンスを表します。特に、テスト中にブラウザが特定のページをロードするのにかかった時間です。
- システム パフォーマンス - テスト中に測定された、システムに関する従来の KPI です(CPU、メモリ、帯域幅など)。
認識されたシステム パフォーマンス
認識されたシステム パフォーマンスは、シミュレートされたトラフィックに含まれる一意の要求ごとに 3 つの異なる測定値を適用します。また、シミュレートされたトラフィックの集計結果に 3 つの異なる測定値を適用します。これらの測定値により、負荷テストの担当者は特定の負荷のもとでの各要求のパフォーマンスを評価できます。
認識されたシステム パフォーマンスでは、すべての要求と応答を考慮した集計レポートも提供されます。集計レポートにより、ボトルネックを特定する際に洞察を得ることができます。たとえば、認識されたシステム パフォーマンスを通して、以下のような結論に至ることができます。
- パフォーマンス結果は、Web サイトの平均応答時間が 700 ミリ秒であることを示す場合があります。ただし、一部の POST 要求の応答時間は、ユーザ数の増加に伴って長くなることがあります。各要求の特定のレポートを調べることによってのみ、このことを識別できます。
- 負荷シナリオのもとで DB 要求の実行に時間がかかりすぎていることを確認します。
- 負荷がかかったときに中断される CSS ページはどれかを特定します。
- 接続タイムアウトおよび切断された接続。
- 負荷がかかったときに生成されるエラー応答。
認識されたユーザ エクスペリエンス
認識されたユーザ エクスペリエンスは、最も重要な質問の 1 つに対する答えを提供します。
つまり「特定の負荷シナリオのもとでのユーザ エクスペリエンスは、どのようなものになるか」という質問です。
ブラウザ ブランドごとに HTTP 要求を生成する方法は異なるため、上記のメトリック(認識されたシステム パフォーマンス(PSP))では、認識されたユーザ エクスペリエンスがどのようなものかはわかりません。
1 ページが 10 件の HTTP 要求を生成する例を考えてみます。各 HTTP 要求のロードに 1 秒かかるとすると、ページ全体のロード時間はどうなるでしょうか。
それは予想が困難です。すべての要求を並列に実行するブラウザもあれば、1 つずつ実行するブラウザもあります。そのため、1 ~ 10 秒後ほどと考えられます。ユーザ エクスペリエンスを測定するための唯一の方法は、実際のブラウザを起動し、Web ページのロード時間を計測することです。
負荷シナリオで同じ技術を使用すると、ロード中のユーザ エクスペリエンスの評価に役立ちます。
認識されたユーザ エクスペリエンスにより、Web サイトの所有者は、いくつかの負荷シナリオのもとでのユーザ エクスペリエンスがどのようなものになるかを知ることができます。
以下に例を示します。
- Web ページのロード時間は 100 ユーザで 2 秒、500 ユーザで 4 秒。
- Web サイトは、1000 ユーザではまったくロードできません。
システム パフォーマンス
システム パフォーマンスによってパフォーマンスの全体像を把握できます。これは、以下のような従来の KPI を使用してシステム パフォーマンスを表すことによって可能になります。
- CPU
- 負荷
- メモリ
- 帯域幅
認識されたシステム パフォーマンスとシステム パフォーマンスの結果を相関させると、低レベルのパフォーマンスの原因となっているボトルネックと問題の識別に役立ちます。
例: 特定の負荷のもとでテスト対象サーバの CPU レベルが 70% を超えた場合、サーバがそのような負荷に対応できないことがわかります。ただし、認識されたシステム パフォーマンスから収集された応答時間も、同じことを示しています。
BlazeMeter を使用した負荷テストの詳細については、録画したオンデマンド Web キャスト「Load Test Like a Pro (プロ並みの負荷テストを実行)」をご覧ください。
0 コメント