次の方法で共有


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

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

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

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

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

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

[前提条件]

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

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

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

次のコード スニペットは、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 にアップロードします。

    [テストの編集] ウィンドウの [テスト 計画] タブでユーザー プロパティ ファイルをアップロードする手順を示すスクリーンショット。

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

    [テスト 計画] ウィンドウのユーザー プロパティ ファイルのファイル関連ドロップダウンが強調表示されているスクリーンショット。

    ロード テストのユーザー プロパティ ファイルとして選択できるファイルは 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 スレッド グループを構成する方法を示しています。

JMeter ユーザー インターフェイスでユーザー プロパティを参照する方法を示すスクリーンショット。

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

次のステップ