御成門プログラマーの技術日記

Microsoft AzureやAngularなどの技術情報を発信します

Azure Load Testing で JMeterスクリプトなしで Azure Portal からHTTP要求テストができるようになったので試してみた

自作のサービスに対して不可テストを実行できるフルマネージドサービス「Azure Load Testing」。今まで「Azure Load Testing」を使うには JMeter スクリプトを用いて実行する必要があったため、JMeter の知識がない方には少しハードルがありました。今回、新機能として JMeter スクリプトを使わず、Azure Portal からHTTPリクエストの負荷テストが実行できるようになったので紹介したいと思います。

Azure Load Testing で Azure Portal から HTTP要求テストを直接、そして簡易に作れるようになりました

2024年1月11日の Azure 更新情報で下記のような情報が公開されました。

Azure Load Testing has introduced a new feature that simplifies the process of creating load tests, you can now directly input your HTTP requests in the Auzure portal without the need for a JMeter script. This eliminates the need for prior knowledge of testing tools, making it more accessible for users to run tests.
Entering requests is straightforward – just specify the endpoint, HTTP method, headers, query parameters, and request body. If you prefer, you can even use a cURL command for the request.

Create tests by adding HTTP requests in Azure Load Testing | Azure の更新情報 | Microsoft Azureより引用。
以下、機械翻訳です。

Azure Load Testing では、ロード テストの作成プロセスを簡略化する新機能が導入され、JMeter スクリプトを必要とせずに Azure ポータルで HTTP 要求を直接入力できるようになりました。これにより、テストツールに関する予備知識が不要になり、ユーザーがテストを実行しやすくなります。
リクエストの入力は簡単で、エンドポイント、HTTPメソッド、ヘッダー、クエリパラメータ、リクエスト本文を指定するだけです。必要に応じて、リクエストにcURLコマンドを使用することもできます。

Create tests by adding HTTP requests in Azure Load Testing | Azure の更新情報 | Microsoft Azureより引用

今まで Azure Load Testing でテストを作成するには JMeter のスクリプトを使って定義する必要がありましたが、Azure Portal のGUIからポチポチするだけでHTTP要求の負荷テストを作成、実行できるようになったようですね。案内文にも書かれていますが、テストツールに関する事前知識がなくなったのは大きいと思います。かく言う私もそれを理由に少し避けてきてしまっていたので今回のアップデートでかなり参入障壁が下がったと思います。

HTTP要求テストを Azure Portal から作成、実行するのをやってみた

Azure Load Testing にHTTP要求のテストを追加する方法は下記のMS公式ドキュメントのクイックスタートで紹介されていますね。
learn.microsoft.com

この記事でも軽く作成方法を紹介します。
Azure Portal 上の Azure Load Testing のテストの画面で「+作成」を押すと「URL ベースのテストを作成する」という選択肢ができています。  

こんな感じでテストURLと負荷想定の設定を行うことができます。今回は基本設定だけで済ましてみます。
適当に作ったApp Service 上のAPIをターゲットにしてます。

こんな感じでテストができましたね。
テストの詳細に飛ぶと「実行ボタン」があるので実行。
テストの実行状態が「Provisioning」から「Executing」となり負荷テストが実行されています。

状態が「Done」となったら完了です。
実行結果をみるとこのような感じで大量の要求を発生させることで負荷を与え、負荷テストを実行することができました。
要求数、応答時間、エラーの発生数などなどの分析情報が標準で確認できますね。

予想通り、実装はかなり簡単になった印象なので試しやすくなりました。
詳細設定を有効にすればメソッドやパラメーターの指定を行ったり、さらに細かい負荷の設定やエラー条件の定義、対象リソースのメトリック監視なども合わせて行うことができる用です。自由度も結構ありますね。
もちろん Load Test を行う際は実行する環境などに注意してお試しください。