Azure Load Testing で JMeter ユーザー プロパティを使用する

この記事では、Azure Load Testing で Apache JMeter ユーザー プロパティを構成して使用する方法について説明します。 ユーザー プロパティを使用すると、テスト設定を JMeter テスト スクリプトの外部に保持して、テストを構成可能にすることができます。 ユーザー プロパティのユース ケースは次のとおりです。

  • アプリケーション エンドポイントが異なる複数のデプロイ環境で JMX テスト スクリプトを使用したい。
  • テスト スクリプトで、スモーク テスト、ピーク ロード、ソーク テストなど、複数のロード パターンに対応する必要がある。
  • JMeter 設定 (結果ファイルの形式など) を構成して、既定の JMeter 動作をオーバーライドしたい。

Azure Load Testing では、標準の Apache JMeter プロパティがサポートされており、ユーザーがユーザー プロパティ ファイルをアップロードできます。 ユーザーは、ロード テストごとに 1 つのユーザー プロパティ ファイルを構成できます。

または、Azure Load Testing で環境変数とシークレットを使用して、テストを構成可能にすることもできます。

Note

Azure Load Testing では、特定の JMeter プロパティはオーバーライドされ、これらのプロパティに指定した値は無視されます。 詳細については、Azure Load Testing でオーバーライドされる JMeter プロパティの一覧をご覧ください。

前提条件

  • アクティブなサブスクリプションが含まれる Azure アカウント。 Azure サブスクリプションをお持ちでない場合は、始める前に無料アカウントを作成してください。
  • Azure Load Testing リソース。 Azure Load Testing リソースを作成する必要がある場合は、ロード テストの作成と実行に関するクイックスタートを参照してください。

JMeter ユーザー プロパティ ファイルをロード テストに追加する

ロード テストに .properties ファイルをアップロードすることで、JMeter テスト スクリプトのユーザー プロパティを定義できます。 Azure Load Testing では、ロード テストごとに 1 つのプロパティ ファイルがサポートされます。 追加のプロパティ ファイルは無視されます。

次のコード スニペットは、3 つのユーザー プロパティを定義し、jmeter.save.saveservice.thread_name 構成設定を構成するユーザー プロパティ ファイルの例を示しています。

# peak-load.properties
# User properties for testing peak load
threadCount=250
rampUpSeconds=30
durationSeconds=600

# Override default JMeter properties
jmeter.save.saveservice.thread_name=false

Azure portal を使用してロード テストにユーザー プロパティ ファイルを追加するには、次の手順に従います。

  1. Azure portal の Azure Load Testing リソースに移動します。

  2. 左側のウィンドウで [テスト] を選択して、テストの一覧を表示します。

  3. 次に、チェック ボックスをオンにしてリストからテストを選択し、[編集] を選択します。 または、[テストの作成] を選択して新しいロード テストを作成します。

  4. [テスト計画] タブを選択します。

  5. お使いのコンピューターからプロパティ ファイルを選択し、[アップロード] を選択して Azure にファイルをアップロードします。

    Screenshot that shows the steps to upload a user properties file on the Test plan tab on the Edit test pane.

  6. [ファイルの関連性] ドロップダウン リストで [ユーザー プロパティ] を選択します。

    Screenshot that highlights the file relevance dropdown for a user properties file on the Test plan pane.

    ロード テストのユーザー プロパティ ファイルとして選択できるファイルは 1 つだけです。

  7. [適用] を選択してテストを変更するか、[確認および作成] を選択した後に [作成] を選択して新しいテストを作成します。

JMeter でプロパティを参照する

Azure Load Testing では、JMeter テスト スクリプト (JMX) でユーザー プロパティを参照するための組み込みの Apache JMeter 機能がサポートされています。 __property または __P 関数を使用して、前にアップロードしたプロパティ ファイルからプロパティ値を取得できます。

次のコード スニペットは、JMX ファイルでプロパティを参照する方法の例を示したものです。

<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Test home page" enabled="true">
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
    <boolProp name="LoopController.continue_forever">false</boolProp>
    <intProp name="LoopController.loops">-1</intProp>
</elementProp>
<stringProp name="ThreadGroup.num_threads">${__P(threadCount,1)}</stringProp>
<stringProp name="ThreadGroup.ramp_time">${__P(rampUpSeconds,1)}</stringProp>
<boolProp name="ThreadGroup.scheduler">true</boolProp>
<stringProp name="ThreadGroup.duration">${__P(durationSeconds,30)}</stringProp>
<stringProp name="ThreadGroup.delay"></stringProp>
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
</ThreadGroup>

なお、プロパティは JMeter ユーザー インターフェイスで指定することもできます。 次の図は、プロパティを使用して JMeter スレッド グループを構成する方法を示したものです。

Screenshot that shows how to reference user properties in the JMeter user interface.

JMeter エラー ログをダウンロードして、ロード テスト中のエラーのトラブルシューティングを行うことができます。

次のステップ