Azure Load Testing が GA されたので改めて試す
最初に申し上げますと、完全に情熱だけで書いています。
とうとう Azure Load Testing が GA(一般提供) となりました!やったね!
General Availability: Microsoft Azure Load Testing is now Generally Available
Azure Load Testing とは
負荷でアプリケーションのパフォーマンスを検証したい、または CI/CD ツールと連携させて、毎回負荷テストを実施したい場合に非常に有効なサービスです。ここで示している CI/CD ツールは、Azure Pipelines または GitHub Actions ワークフローを指します。これらから Azure Load Testing をトリガーできます。
本番環境リリース前は、適切なリソースが配置されているか、想定しているユーザー数に耐えられるのか?といったことを負荷テストすると思います。今までだと JMeter や他ツール、コマンドなどを使ってテストを実施していたと思いますが、なんと!それが!Azure 上からテストを実施できるんですよ!!
テストの結果を Azure Portal 上から確認できるので、結果を簡単に閲覧できる&履歴まで見れます。さらに構築〜テスト〜運用チームまでテストの結果を共有することができるんですね。
また、アラート発報テストという観点でも利用できるので、想定した負荷の時にアラートが発報されることを確認することができます。便利便利。
概要などはこちらを確認していただくとより深く理解できると思います。
Azure Load Testing を試す
Azure Load Testing の作成
作成はこちらに書いてあるので、割愛します。詳しく記載されているので、迷わないはず。
ただ、どうやら名前は一意である必要があり、その点については注意が必要です。
さて、作成が完了したところから開始します。
テストの実施
今回、たまたま(?)手頃な AKS があったので、これに対して負荷をかけてみたいと思います。
Ingress-Service-Deployment(replica:3) の簡単な構成の .NET のアプリケーションです。
それを元手に [テスト] をクリックし、テストを作成します。2通り選択できますが、今回は上の「クイック テストを作成する」を選択。
テストを行いたいサイト(URL)を記載します。ここで作成できるのは以下の3つです。
- 仮想ユーザーの数
- テスト期間 (秒)
- 増加時間 (秒)
そのまますぐ「テストの実行」をクリックするとテストが開始されます。
テストの結果は以下のように表示されます。
AKS 側からも確認します。何度かテストをした時のキャプチャなので時間がずれていますが、負荷がかかったことがわかります。
1回目はクイックに作成しましたが、後からテストの編集を行うことができます。これが便利で。
テストの編集
テストの編集について簡単に説明します。
[テスト計画] では、初回に実施したテストの JMX ファイルをダウンロードもできます。そしてアップロードもできるので、手元で直して上げ直しもできます。
[パラーメーター] は、Key と Value を変えることができるので、「これ数値イマイチだったから変えたいな」であれば変更を加えることができます。項目の追加もできる。以下はパラメータの編集画面、環境変数意外にも設定できる項目があることがわかります。
[テスト抽出条件] で、テストのエラー条件を決定できます。細かい設定事項などはこちらを確認していただきたい。
一通り簡単なテストは行うことができたけれど、JMX ファイルを編集すればテストの効きをもっと細かく調整できる。Pureview で発表された時よりもドキュメントも充実しているので、気軽にトライできると思います。
これからの期待
GA されたばかりなので、まだまだこれから機能は追加されるんだろう(されてほしい)と思ってます。
現在は、東日本/西日本では利用できないようで、日本のリージョンで実施したい場合は今後拡張されることを期待してる。ものすごく。
今回は単純なクイックスタートを実施しましたが、細かく指定したい場合は JMX ファイルを編集してアップロードする必要があります。これは、今まで JMeter を使っていた人にとっては使用しているファイルをそのまま(少し改修して)使うことができるといった利点にもなります。ただ、初めて使う人にとっては少し使い方を学ぶ必要が出てくると思います。今後は、ポータルから(もっと)簡単にテストの設定ができるようになると嬉しいなと思います。
Discussion