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

この記事では、Apache JMeter スクリプトを使用し、Azure portal から Azure Load Testing を使用するか Azure CLI を使用することによって 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 リソースをホストする地理的な場所を選択します。
    この場所により、テスト エンジンがホストされる場所や、テスト フレームワークの要求が発信される場所も決まります。

    Note

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

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

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

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

    デプロイの完了画面を示すスクリーンショット。

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

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

    Azure Load Testing リソースの使用が承認されていない Azure portal のエラー メッセージを示すスクリーンショット。

ロード テストの作成

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

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

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

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

  3. [作成] を選んでから、[JMeter スクリプトのアップロード] を選びます。

    Azure Load Testing のページと新しいテストを作成するためのボタンを示すスクリーンショット。

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

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

    [テスト計画] タブを示すスクリーンショット。

    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. ロード テスト リソースに移動し、左側のペインで [テスト] を選んでから、作成したテストを選びます。

    ロード テストの一覧を示すスクリーンショット。

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

    実行の確認ページを示すスクリーンショット。

    ヒント

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

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

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

    テスト実行ダッシュボードを示すスクリーンショット。

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

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

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

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

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

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

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

    Azure portal でのテストの一覧を示すスクリーンショット。テストを JMeter ベースのテストに変換するメニュー オプションが強調表示されています。

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

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

    テスト一覧のテストの種類が JMX に変わっていることに注目してください。

    Azure portal でのテストの一覧を示すスクリーンショット。変換されたテストのテストの種類が JMX に変わっていることが強調表示されています。