すべてのプロダクト
Search
ドキュメントセンター

Performance Testing:ストレステストシナリオのデバッグ

最終更新日:Jan 08, 2025

ストレステストシナリオを設定した後、シナリオをデバッグして、シナリオの設定がビジネス要件を満たしているかどうかを確認できます。これは、ストレステストの成功を保証するのに役立ちます。このトピックでは、Performance Testing(PTS)シナリオとJMeterシナリオをデバッグする方法について説明します。

前提条件

PTSシナリオまたはJMeterシナリオが作成されていること。詳細については、PTSシナリオの作成またはJMeterシナリオの作成をご参照ください。

手順

  1. PTS console にログインし、 を選択します。パフォーマンステスト > シナリオ

  2. [シナリオ] ページで、目的のストレステストシナリオを見つけ、[アクション] 列の [編集] をクリックして、[シナリオの編集] ページに移動します。[シナリオの編集] ページの下部にある [デバッグ] をクリックして、ストレステストシナリオをデバッグします。

    デバッグ処理中に、[デバッグ] ダイアログボックスの右上隅にある 调试场景.png アイコンをクリックして、ダイアログボックスを最小化できます。これにより、[シナリオの編集] ページの右下隅に表示されるポップアップウィンドウで、いつでもデバッグ処理を監視できます。[デバッグ] ダイアログボックスを最大化するには、ポップアップウィンドウをクリックします。

  3. デバッグ結果のすべてのリンクの要求ログを表示します。単一のAPI操作のデバッグ情報を表示するには、API操作名をクリックします。

    単一のAPI操作をデバッグする場合は、[シナリオ設定] タブのAPI操作名の右側にある [APIのデバッグ] をクリックできます。デバッグが完了したら、デバッグ結果を表示できます。

    重要

    PTSは、仮想プライベートクラウド(VPC)内での単一のAPI操作のデバッグをサポートしていません。VPC内の単一のAPI操作をデバッグする場合は、[シナリオの編集] ページの下部にある [デバッグ] をクリックして、ストレステストシナリオ全体をデバッグできます。

PTSシナリオのデバッグ用インターフェースの説明

次の図は、PTSシナリオをデバッグするときにインターフェースに表示される情報を示しています。

image

  1. アサーションの判定

    十字記号(×)は、レスポンス例外が発生したことを示します。レスポンス例外が発生したAPI操作をクリックし、右側にAPI操作のレスポンスの詳細を表示できます。

  2. レスポンスステータス

    キーワード「Status Exception」または 200、302、403、503、500 などのステータスコードが表示される場合があります。キーワード [status Exception] が表示されている場合、リクエストがタイムアウトしたか、リクエスト本文を含むリクエスト URL が正しくないため、レスポンスは返されません。指定された関数を識別できない場合、または URL 形式が無効な場合に、正しくない可能性があります。

    説明

    デバッグされた各API操作のリクエストとレスポンスの詳細を表示できます。次の手順に基づいて、レスポンスステータスに関連する問題のトラブルシューティングを行うことができます。

    • レスポンスステータスに [status Exception] が表示されている場合は、右側の [レスポンスの詳細] タブの [エラー情報] セクションで例外情報を表示できます。たとえば、前の図では、例外の原因は無効なパラメーターであり、システム関数が誤って使用されていることを示しています。

    • [200] 以外のステータスコードがレスポンスステータスに表示されている場合は、レスポンス情報を表示し、関連サーバーのログに基づいて問題のトラブルシューティングを行うことができます。

    • アサーションで例外が発生した場合は、[レスポンスの詳細] タブの [チェックポイント情報] セクションでアサーション情報を表示できます。アサーション情報が表示されない場合は、出力パラメーター値が取得されていません。

  3. エラー情報

    タイムアウト情報、パラメーターエラー、接続拒否など、異常なレスポンスに関する詳細が表示されます。

  4. [タイミング] タブのコアライフサイクルにおけるリクエストの時間消費に関する詳細

    タイミングウォーターフォールモデルを使用して、デバッグ処理中に表示される例外情報を表示できます。すべてのエラーメッセージは、タイミングウォーターフォールモデルで表示できます。

    たとえば、ストレステストシナリオを設定するときに 302 リダイレクトを有効にした場合、ストレステスト中にリダイレクトが実行されるかどうか、およびタイミングウォーターフォールでのリダイレクトのパスを確認できます。

  5. 出力パラメーター式をテストするためのエントリポイントimage

    リクエストのレスポンス詳細に基づいて特定の文字列を抽出する場合は、正規表現を使用できます。文字列を確実に抽出できるように、ストレステストシナリオをデバッグするときに、正規表現が正しいかどうかをテストできます。既存の出力パラメーターがビジネス要件を満たしていない場合は、ビジネス要件に基づいて出力パラメーターを再設定できます。ほとんどの場合、リクエストのレスポンス詳細に基づいて抽出できる文字列は、TEXT タイプのレスポンス本文です。

    説明

    Application/JSON および TEXT/JSON 形式の解析は簡単です。したがって、出力パラメーター式をテストする機能は、これらの形式のレスポンス詳細には提供されていません。

    1. [デバッグ] ダイアログボックスの右側で、API操作の [正規表現をテストするにはクリックしてください] をクリックします。

    2. 表示されるダイアログボックスで、[ソース]、[正規表現]、[n番目の一致] パラメーターを設定します。次に、[式のテスト] をクリックします。レスポンス詳細の一致結果に基づいて、抽出された情報が期待どおりかどうかを事前に判断できます。

    3. 出力パラメーターの設定を変更する必要がある場合は、[出力パラメーターの同期] をクリックして、正規表現をAPI操作の出力パラメーターに同期します。

      説明

      デバッグが完了したら、[シナリオ設定] タブに戻り、[出力パラメーター定義] サブタブで出力パラメーターの名前を設定する必要があります。

JMeterシナリオをテストするためのインターフェースの説明

次の図は、JMeterシナリオをデバッグするときにインターフェースに表示される情報を示しています。

image

[sampler] をクリックします。次に、[サンプリングログ] セクションで、リクエストの詳細、レスポンスの詳細、およびタイミングウォーターフォールを表示します。

  • [サンプリングログ] セクションには、次の情報が表示されます。

    • [全般] タブには、リクエストの URL、メソッド、およびステータスコードが表示されます。

    • [リクエストの詳細] タブには、リクエストのヘッダー、本文、および元のパケットが表示されます。

    • [レスポンスの詳細] タブには、レスポンスのヘッダー、本文、および元のパケットが表示されます。

    • [タイミング] タブには、すべてのAPI操作の時間消費情報が表示されます。

  • [エンジンログ] セクションには、Apache JMeter の操作ログが表示されます。デバッグ後にサンプルログが返されない場合は、エンジンログのエラーメッセージに基づいて問題を分析し、トラブルシューティングを行うことができます。一般的なエラーとエラーの原因については、一般的なエラーをご参照ください。