Azure Load Testing で JMeter スクリプトを使用して Web サイトのロード テストを行う

Apache JMeter スクリプトを使用して、Azure Portal または Azure CLI を使用して、Azure Load Testing を使用して Web アプリケーションをロード テストする方法について説明します。 Azure Load Testing を使用すると、既存の Apache JMeter スクリプトを取得し、それを使用してクラウド 規模でロード テストを実行できます。 詳細については、Azure Load Testing でサポートされている JMeter 機能に関する説明をお読みください。

既存の JMeter スクリプトを使用してロード テストを作成するユース ケースは次のとおりです。

  • 既存の JMeter スクリプトを再利用して、アプリケーションをテストする必要があります。
  • データベースやメッセージ キューなど、HTTP ベースではないエンドポイントをテストする必要があります。 Azure Load Testing では、JMeter でサポートされるすべての通信プロトコルがサポートされています。
  • CLI コマンドを使用するには、Azure CLI バージョン 2.2.0 以降。 コンピューターにインストールされているバージョンを調べるには、az --version を実行します。 Azure CLI をインストールまたはアップグレードする必要がある場合は、「Azure CLI をインストールする方法」を参照してください。

前提条件

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

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

既にロード テスト リソースがある場合は、このセクションをスキップして、「ロード テストを作成する」に進んでください。

ロード テストのリソースを作成します。

  1. ご利用の Azure サブスクリプションの資格情報を使って、Azure portal にサインインします。

  2. Azure portal のメニューまたは [ホーム] ページから [リソースの作成] を選択します。

  3. Marketplace ページで、Azure Load Testing を検索して選択します。

  4. [Azure Load Testing] ペインで、[作成] を選択します。

  5. [ロード テスト リソースの作成] ページで、次の情報を入力します。

    フィールド 説明
    サブスクリプション この Azure Load Testing リソースに使用する Azure サブスクリプションを選択します。
    リソース グループ 既存のリソース グループを選択します。 または、[新規作成] を選択し、新しいリソース グループの一意の名前を入力します。
    名前 Azure Load Testing リソースを識別するための一意の名前を入力します。
    名前に特殊文字 (\/""[]:|<> など) を含めることはできません。+=;、?*@>、または空白。 名前の先頭をアンダースコア (_) にすることはできません。また、末尾をピリオド (.) またはダッシュ (-) にすることもできません。 長さは 1 から 64 文字にする必要があります。
    場所 Azure Load Testing リソースをホストする地理的な場所を選択します。
    この場所は、テスト エンジンがホストされる場所であり、JMeter クライアント要求の発信元です。

    Note

    必要に応じて、[タグ] タブでさらに詳細を構成できます。タグは名前と値のペアであり、同じタグを複数のリソースやリソース グループに適用することで、リソースを分類したり、統合された課金を表示したりできるようにします。

  6. リソースの構成が完了したら、[確認および作成] を選択します。

  7. 指定した設定を確認し、[作成] を選択します。 アカウントの作成には数分かかります。 ポータル ページに "デプロイが完了しました" と表示されるまで待ってから移動します。

  8. 新しいリソースを表示するには、[リソースに移動] を選択します。

    Screenshot that shows the deployment completion screen.

  9. 必要に応じて、Azure Load Testing リソースへのアクセスを管理します

    Azure Load Testing によって、ロールベースのアクセス制御 (RBAC) が使用され、リソースのアクセス許可が管理されます。 このメッセージが表示された場合、アカウントには、テストを管理するために必要なアクセス許可がありません。

    Screenshot that shows an error message in the Azure portal that you're not authorized to use the Azure Load Testing resource.

ロード テストの作成

次に、Apache JMeter テスト スクリプト (JMX ファイル) をアップロードしてロード テストを作成します。 テスト スクリプトには、アプリケーション エンドポイントへのトラフィックをシミュレートするためのアプリケーション要求が含まれています。

Azure portalの既存の JMeter スクリプトを使用してロード テストを作成するには:

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

  2. 左側のナビゲーションで、[テスト] を選択してすべてのテストを表示します。

  3. [+ 作成] を選択し、[JMeter スクリプトのアップロード] を選択します。

    Screenshot that shows the Azure Load Testing page and the button for creating a new test.

  4. [基本] タブで、ロード テストの詳細を入力します:

    フィールド 説明
    テスト名 一意のテスト名を入力します。
    テストの説明 (省略可能)ロード テストの説明を入力します。
    作成後にテストを実行する 保存後にロード テストを自動的に開始するには、この設定を選択します。
  5. [テスト計画] タブで Apache JMeter スクリプトを選択し、[アップロード] を選択して、ファイルを Azure にアップロードします。

    Screenshot that shows the Test plan tab.

    Note

    追加の JMeter 構成ファイルまたは JMX ファイルで参照されている他のファイルをアップロードできます。 たとえば、テスト スクリプトで CSV データ セットを使用している場合は、対応する .csv ファイルをアップロードできます。 CSV ファイルからデータを読み取る方法も参照してください。 JMeter スクリプトとユーザー プロパティ以外のファイルの場合、ファイルのサイズが 50 MB を超える場合は、ファイルを zip 圧縮します。 zip ファイルのサイズは 50 MB 未満にする必要があります。 Azure Load Testing では、テストの実行中にファイルが自動的に解凍されます。 各 zip のファイルが最大 1000 個で、圧縮されていない合計サイズが 1 GB の zip アーティファクトは 5 つだけです。

  6. [Review + create](レビュー + 作成) を選択します。 すべての設定を確認してから、[作成] を選択して、ロード テストを作成します。

テスト構成は、いつでも更新できます。たとえば、別の JMX ファイルをアップロードすることができます。 テストの一覧でテストを選択し、[編集] を選択します。

ロード テストを実行する

Azure Load Testing は、ロード テストを開始すると、最初に JMeter スクリプトとその他のファイルをテスト エンジン インスタンスにデプロイしてから、ロード テストを開始します。

[作成後にテストを実行] を選択すると、テストが自動的に開始します。 前に作成したロード テストを手動で開始するには、次の手順に従います。

  1. ロード テスト リソースに移動し、左側のウィンドウで [テスト] を選択し、前に作成したテストを選択します。

    Screenshot that shows the list of load tests.

  2. テストの詳細ページで、[実行] または [テストの実行] を選択します。 次に、確認ウインドウで [実行] を選択してロード テストを開始します。 必要に応じて、テスト実行の説明を指定します。

    Screenshot that shows the run confirmation page.

    ヒント

    ロード テストは Azure portal からいつでも停止できます。

  3. Azure portal のテスト実行の詳細、統計、およびクライアント メトリックに注目してください。

    テスト スクリプトに複数の要求がある場合は、グラフにすべての要求が表示され、特定の要求をフィルター処理することもできます。

    Screenshot that shows the test run dashboard.

    実行統計とエラー情報を使用して、負荷がかかっているアプリケーションのパフォーマンスと安定性の問題を特定します。

URL ベースのロード テストを JMeter ベースのロード テストに変換する

URL ベースのロード テストを作成した場合は、テストを JMeter ベースのロード テストに変換できます。 URL ベースのロード テストを作成すると、Azure Load Testing によって JMeter スクリプトが自動的に生成されます。

URL ベースのロード テストを JMeter ベースのロード テストに変換するには:

  1. ロード テスト リソースに移動し、[テスト] を選択してテストの一覧を表示します。

    テストが URL ベースか JMeter ベースかを示す [テストの種類 ] 列に注目してください。

  2. URL ベースのロード テストの省略記号 (...) を選択し、[JMeter スクリプトに変換] を選択します。

    Screenshot that shows the list of tests in the Azure portal, highlighting the menu option to convert the test to a JMeter-based test.

    または、テストを選択し、テストの詳細ページで [JMeter に変換] スクリプトを選択します。

  3. [JMeter への変換] スクリプト ページで、[変換] を選択して、テストを JMeter ベースのテストに変換します。

    テストの種類がテスト一覧で JMX変更されていることに注意してください。

    Screenshot that shows the list of tests in the Azure portal, highlighting the test type changed to JMX for the converted test.