Azure Load Testing でのテストの作成と管理

完了

Azure Load Testing リソースでロード テストを作成および管理する方法について説明します。

Azure Load Testing のリソースを作成する

まず、Azure Load Testing の最上位リソースを作成します。 これによって、テスト計画、テスト結果、および関連する成果物を表示および管理するための一元的な場所が提供されます。

CLI を使用して Azure Load Testing リソースを作成するには:

  1. Azure にサインインします。

    az login
    
  2. パラメーターの値を設定します。

    次の値は、ロード テスト リソースを作成するために後続のコマンドで使用されます。

    loadTestResource="<load-testing-resource-name>"
    resourceGroup="<resource-group-name>"
    location="East US"
    
  3. az group create コマンドを使用してリソース グループを作成します。

    az group create -n $resourceGroup -l $location
    
  4. azure load create コマンドで Azure ロード テスト リソースを作成します。

    az load create --name $loadTestResource --resource-group $resourceGroup --location $location
    
  5. リソースが作成されたら、azure load show コマンドで詳細を表示できます。

    az load show --name $loadTestResource --resource-group $resourceGroup
    

ロード テストの作成

Azure portal でロード テストを作成するには、次の 2 つのオプションがあります:

  • URL ベースのテスト
  • JMeter テスト スクリプト (JMX)

このユニットでは、JMeter スクリプトを使用してテストを作成することに重点を置きます。

テスト計画のコンポーネント

テスト計画

テスト計画には、ロード テストの実行に必要なすべてのファイルが含まれています。 テスト計画には少なくとも 1 つの *.jmx JMeter スクリプトが含まれている必要があります。 Azure Load Testing では、ロード テストごとに 1 つの JMX ファイルのみがサポートされます。

テスト スクリプトと共に、ユーザー プロパティ ファイル、構成ファイル、または入力データ ファイル (CSV ファイルなど) をアップロードできます。

  1. テスト計画に移動します。

  2. ローカル コンピューターのすべてのファイルを選択し、それらを Azure にアップロードします。

    Azure portal でテストを作成するためのテスト 計画ページを示すスクリーンショット。アップロード機能が強調表示されています。

    Azure Load Testing では、すべてのファイルが 1 つのリポジトリに保存されます。 テスト スクリプトで構成ファイルまたはデータ ファイルを参照する場合は、JMX ファイル内の相対パス名を必ず削除してください。

  3. テストで CSV 入力データを使用する場合は、 テスト エンジン間で CSV を均等に分割することを選択できます。

    既定では、Azure Load Testing は、入力ファイルをコピーしたまま変更せずに、すべてのテスト エンジン インスタンスで処理します。 Azure Load Testing では、CSV 入力データをすべてのエンジン インスタンスに均等に分割することができます。 複数の CSV ファイルがある場合、各ファイルは均等に分割されます。

    たとえば、大きな顧客 CSV 入力ファイルがあり、ロード テストが 10 個の並列テスト エンジンで実行される場合、各インスタンスは顧客の 10 分の 1 を処理します。

    Azure portal でテストを構成するときに、入力 C S V ファイルの分割を有効にするチェック ボックスを示すスクリーンショット。

ヒント

一覧でファイル名を選択すると、[ テスト プラン ] タブからファイルをダウンロードできます。 たとえば、生成された JMeter スクリプトをダウンロードして簡単なテストを行い、変更してから、ファイルをもう一度アップロードすることができます。

パラメーター

JMeter スクリプトで値をハードコーディングする代わりに、パラメータを使用してテスト計画を構成できます。 ロード テスト構成でキーと値のペアを指定し、パラメータ名を使用して JMeter スクリプトの値を参照します。

Azure portal でテストを作成するときにパラメーターを構成する方法を示すスクリーンショット。

  1. 非センシーティブ パラメータをテスト スクリプトに渡す環境変数を指定します。

    たとえば、環境変数を使用して、ターゲット ドメイン名またはポート番号をテスト スクリプトに渡すことができます。

  2. Azure Key Vault によってサポートされるシークレットへの参照を追加します。

    シークレットを使用して、パスワードや認証トークンなどの機密性の高いパラメータをテスト スクリプトに渡します。 シークレット値を Azure キー コンテナーに保存し、ロード テスト構成でキーへの参照を追加します。 その後、パラメータ名を使用して、スクリプト内のキーを参照できます。 その後、Azure Load Testing は Azure Key Vault からキー値を取得します。

  3. Azure Key Vault によってサポートされるクライアント証明書への参照を追加します。

    証明書ベースの認証を使用するアプリケーション エンドポイントをロード テストする場合は、Azure Key Vault に証明書を追加し、ロード テスト構成で証明書への参照を追加できます。 Azure Load Testing では、JMeter スクリプトの Web 要求に証明書が自動的に挿入されます。

  4. シークレットまたは証明書のキー コンテナーへのアクセスに使用するマネージド ID を選択します。

積載量

  1. テスト エンジン インスタンスの数を指定します。

    Azure Load Testing では、すべてのインスタンスでロード テストが自動的にスケーリングされます。 JMeter テスト スクリプトは、すべてのインスタンスで並列に実行されます。 シミュレートされるユーザーの合計数は、JMeter スクリプトで指定した仮想ユーザー (スレッド) の数に、テスト エンジン インスタンスの数を乗算した値と等しくなります。

  2. 仮想ネットワーク接続を構成します。

    ロード テストを Azure 仮想ネットワークに接続して、プライベートにホストされているエンドポイントまたはオンプレミスエンドポイントをロード テストできます。

    仮想ネットワークに接続するには、 プライベートトラフィック モードを選択し、 仮想ネットワーク とサブネットを選択 します

    Azure portal でテストを作成するときにテスト エンジン インスタンスの数を構成する方法を示すスクリーンショット。

テストの条件

  1. クライアント メトリックに基づいてテストエラーの条件を指定します。

    ロード テストがメトリックのしきい値を超えると、ロード テストは失敗した状態になります。 Azure Load Testing では現在、失敗条件に対して次のクライアント側メトリックがサポートされています:

    • 応答時間
    • 1 秒あたりの要求数
    • 要求の合計数
    • 遅延
    • エラーの割合

    ロード テスト全体の失敗条件を指定するか、JMeter スクリプトで特定の要求に割り当てることができます。 たとえば、ホーム ページの応答時間が特定の応答時間を超えていないことを検証します。

  2. 自動停止条件を構成します。

    Azure Load Testing では、エラー率が特定のしきい値を超えると、ロード テストの実行を自動的に停止できます。 この機能を有効または無効にしたり、特定のエラー率のしきい値と時間枠を構成したりできます。

    Azure portal でテストを作成するときにテスト条件を構成する方法を示すスクリーンショット。