クイック スタート: Locust スクリプトと Azure Load Testing を使用してロード テストを作成して実行する

Azure portal から Locust テスト スクリプトと Azure Load Testing を使ってロード テストを作成し、実行する方法について説明します。 Azure Load Testing は、クラウド規模でロード テストを実行できる管理サービスです。 Locust はオープンソースのロード テスト ツールであり、Python コードですべてのテストを記述できます。

前提条件

既存の Locust テスト スクリプトを使ってロード テストを作成する場合のユース ケース:

  • 既存の Locust スクリプトを再利用して、アプリケーションをテストすることを考えています。
  • アプリケーションへのユーザー トラフィックをシミュレートして、アプリケーションが要件を満たしていることを確認することを考えています。
  • ロード テストのために複雑なインフラストラクチャを設定したくはありません。 また、開発者としては、ロード テスト ツールとテスト スクリプトの構文に慣れていないかもしれません。

このクイックスタートでは、Azure Load Testing と Locust テスト スクリプトを使って、アプリケーション エンドポイント用のロード テストを作成します。 Azure portal でロード テスト リソースを作成してから、Locust テスト スクリプトをアップロードし、ロード パラメーターを構成して、ロード テストを作成します。

重要

Azure Load Testing での Locust のサポートは、現在限定プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。 プレビューのためにお使いの Azure サブスクリプションをオンボードするには、こちらでサインアップしてください。

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

最初に、Azure Load Testing のための最上位リソースを作成する必要があります。 Azure portal には、テスト計画、テスト結果、関連する成果物を表示して管理するための一元的な場所が用意されています。

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

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

  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 のエラー メッセージを示すスクリーンショット。

ロード テストの作成

ロード テスト リソースを用意したので、Locust テスト スクリプトをアップロードしてロード テストを作成できます。 Azure Load Testing は、テスト スクリプトを大規模に実行するためのインフラストラクチャを管理し、アプリケーション エンドポイントへのトラフィックをシミュレートします。

Azure portal で Locust ベースのテスト用のロード テストを作成するには:

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

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

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

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

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

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

    Locust フレームワークを選ぶオプションを示すスクリーンショット。

  6. 次に、お使いのコンピューターから Locust テスト スクリプトを選び、[アップロード] を選んで Azure にファイルをアップロードします。

    テスト成果物をアップロードするためのボタンを示すスクリーンショット。

    Note

    テスト スクリプトで参照している他のファイルをアップロードすることもできます。 たとえば、テスト スクリプトで CSV データ セットを使用している場合は、対応する .csv ファイルをアップロードできます。 Locust スクリプトで構成ファイルを使うには、そのファイルをアップロードし、[ファイルの関連性] として [Locust 構成] を選びます。

  7. [負荷] タブで、生成する負荷の量の詳細を入力します。

    フィールド 説明
    テスト エンジン インスタンス 並列テスト エンジン インスタンスの数を選びます。 各テスト エンジンは、[ユーザー数] のトラフィックをシミュレートします。
    ユーザーの数 テスト エンジン インスタンスごとにシミュレートする仮想ユーザーの数を入力します。
    期間 (分) ロード テストの合計継続時間 (分単位)。
    ユーザーの生成率 (省略可能) ユーザーを追加する速さ (1 秒あたりのユーザー数)。
    ホスト エンドポイント (省略可能) HTTP エンドポイントの URL。 例: https://www.contoso.com/products.|
  8. [Review + create](レビュー + 作成) を選択します。 すべての設定を確認してから、[作成] を選択して、ロード テストを作成します。

別の Locust テスト ファイルのアップロードや、ロード パラメーターの変更など、テスト構成はいつでも更新できます。 テストの一覧でテストを選択し、[編集] を選択します。

ロード テストを実行する

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

  1. ロード テスト リソースに移動し、左側のペインで [テスト] を選んでから、作成したテストを選びます。

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

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

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

    ヒント

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

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

    テスト スクリプトに複数の要求がある場合は、グラフにすべての要求が表示され、特定の要求でフィルター処理することもできます。 [サンプラー統計] セクションでは、要求ごとの統計情報を表形式で見ることができます。

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

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

まとめ

このクイックスタートでは、Locust テスト スクリプトを使って Azure Load Testing でロード テストを作成し、実行しました。 Azure Load Testing は、アプリケーションの大規模なユーザー負荷をシミュレートするためのインフラストラクチャの設定の複雑さを抽象化します。

さらにロード テストを拡張して、負荷が発生しているアプリケーションのサーバー側メトリックを監視したり、アプリケーションが要件を満たしていない場合にアラートを受け取るテスト失敗メトリックを指定したりできます。 アプリケーションのパフォーマンスを維持するために、継続的インテグレーションと継続的配置 (CI/CD) ワークフローの一部としてロード テストを統合することもできます。