Azure Managed Service Column <Azure運用コラム>

フルマネージドな負荷テストサービス「Azure Load Testing」について解説します!

Category: 入門編

2023.08.09

Azure Load Testing についての概要、機能、シナリオ、価格について解説

近年の技術革新によりアプリケーション開発がクラウド環境で容易に行えるようになりました。また DX 化の波もあり市場には多くのアプリケーションがリリースされています。今やアプリケーションは業務に欠かせない存在であるとともに、アプリケーションのパフォーマンスが業務品質に直結する時代です。

Azure Load Testing は、 2023 年 2 月に一般公開されたアプリケーションやウェブサイトの負荷テストを実施するためのクラウドベースのサービスです。フルマネージドなサービスであり、アプリケーションの性能、拡張性、柔軟性、可用性といったパフォーマンス、スケーラビリティの評価にも活用することができます。

本記事では、この Azure Load Testing について概要、機能、シナリオを踏まえ、価格について解説します。

1. Azure Load Testingの概要

Azure Load Testingとは?

Azure Load Testing は、 Azure のクラウドベースで提供され、大規模な負荷を生成でき、アプリケーションやウェブサイトの負荷テストを実施するためのフルマネージドのロードテストサービスです。 Azure アプリケーションコンポーネント全体のパフォーマンスのボトルネックの特定することができます。

またロードテストにかかる複雑な構成管理を抽象化することができ、テストツールの事前の知識も必要なく利用することができます。

さらに高度なロードテストシナリオでは、 CI / CD ワークフローにロードテストを追加することでテストを自動化することもできます。

Azure Load Testingの概要

図版出典:Microsoft公式サイト

2. Azure Load Testingの機能

主な機能について紹介します。

テストシナリオの作成

ユーザーシナリオや操作フローの定義、ユーザーごとのアクションや要求の設定、負荷パターンの作成など、一連のテストシナリオを作成することができます。シナリオ作成には、ユーザーフローの記録、手動での編集、または Visual Studio などのツールを使用する方法があります。

Azure上での負荷テストの実行

Azure 上で負荷テストを実行することで、必要なリソースをスケーリングしたり、複数の地域からの負荷をシミュレートしたりすることができます。 Azure のクラウドインフラストラクチャを使用することで、大規模な負荷テストを効率的かつ柔軟に実施することができます。

モニタリングと解析

テスト実行中、アプリケーションやシステムのパフォーマンスをモニタリングし、リアルタイムでメトリクスを収集します。これには、応答時間、スループット、エラーレートなどのパフォーマンス指標が含まれます。

また収集されたデータを分析し、パフォーマンスの問題やボトルネックを特定するためのレポートとグラフィカルな可視化機能も提供します。

スケーリングと負荷制御

テスト中に負荷をコントロールできる機能が提供されています。負荷を増減させるためのスケーリングルールを設定し、負荷をコントロールします。異なる負荷パターンやトラフィック条件をシミュレートし、システムのパフォーマンスを評価することが可能です。

負荷テストの自動化

ビルドパイプラインや CI / CD ツールと統合して、継続的な負荷テストを自動化することができます。アプリケーションの変更やデプロイの後に自動的にテストを実行し、パフォーマンスの問題やリグレッションを素早く見つけることができます。

3. Azure Load Testingのシナリオについて

代表的な3つのシナリオについて紹介します。

シナリオ1:基本的なロードテスト作成

Azure Portal からロードテストを作成してパフォーマンスのボトルネックを特定する方法です。負荷をかけるための複数のテストエンジンインスタンスを構成して仮想ユーザー数をスケールアウトし1秒あたりの要求数をシミュレートすることができます。

Azure Load Testingのシナリオについて-シナリオ1:基本的なロードテスト作成

図版出典:AZPower

上記はテストで実行する負荷に関する情報設定画面です。テストで使用するエンジンのインスタンス数を指定でき、 1 インスタンスあたり最大 250 スレッドの負荷を実行できます。

Azure Load Testingのシナリオについて-シナリオ1:基本的なロードテスト作成

図版出典:AZPower

上記の設定画面のシナリオ内で実施する対象メトリックのテスト合格基準を設定します。

Azure Load Testingのシナリオについて-シナリオ1:基本的なロードテスト作成

図版出典:Microsoft公式サイト

上記の画面は Azure Load Testing ダッシュボードです。実施中のクライアントとサーバー側のメトリックの最新の情報が表示されます。

テストが完了したら、ダッシュボードを使ってテスト結果を分析し、パフォーマンスのボトルネックを特定することが可能です。

シナリオ2:Webアプリケーションに対するロードテスト

ターゲット Web アプリケーション URL と基本的なロードテストパラメーターを指定することで、ロード テストをすばやく作成できます。 仮想ユーザーか、 1 秒あたりの要求数、いずれかを使用して、クイックテストでターゲットの負荷を指定できます。

Azure Load Testingのシナリオについて-シナリオ2:Webアプリケーションに対するロードテスト

図版出典:Microsoft公式サイト

Azure Portal の Azure Load Testing リソース概要ページから設定を行います。

上記の図の例では、テスト対象として「 https://www.example.com/login 」を入力しています。

仮想ユーザー数は許可される最大値は 11250 です。テストエンジンインスタンスあたり最大 250 人を超える場合、複数のテストエンジンをプロビジョニングし、負荷を均等に配置します。

Azure Load Testingのシナリオについて-シナリオ2:Webアプリケーションに対するロードテスト

図版出典:Microsoft公式サイト

上記の図のように[ 1 秒あたりのターゲット要求数 ( RPS )] でテストを設定する場合、サービスが生成できる最大負荷は、ロードテスト中のエンドポイントの応答時間によって異なります。

あとは基本的なテストと同様、「テスト開始( Run test )」をクリックしテストを実行します。

シナリオ3:CI/CD を使用してロード テストを自動化する

CI / CD とは「 Continuous Integration (継続的インテグレーション)/ Continuous Delivery (継続的デリバリー)」の略称です。 CI / CD は、何か特定の技術を指すものではなく、ソフトウェアの変更を常にテストし、自動で本番環境に適用できるような状態にしておく開発手法です。

この CI / CD ワークフローにロードテスト追加して、 Azure Load Testing でのロードテストを自動化できます。本記事では紹介のみに止めますが、詳しくは公式サイトのチュートリアルをご参照ください。

4. Azure Load Testingの価格について

2023 年 7 月時点の価格について解説します。基本料金は 1 か月あたり 50 仮想ユーザー時間が含まれていて 1,445 円です。

1 仮想ユーザー時間の追加使用料として、 9,950 時間までは追加時間 1 時間あたり 21.68円、 9,950 時間以上の使用料として追加時間 1 時間あたり 10.84 円となっています。

この仮想ユーザー時間というのは、以下の式で算出します。

仮想ユーザー時間 = (算定仮想ユーザー数 * 算定稼働時間 (分単位)) / 60 分

アクティブな仮想ユーザーの数は 10 秒ごとにカウントされ、等価な分数の仮想ユーザー時間を使用して課金されます。料金の概算は料金計算ツールまたは公式サイトをご参照ください。

5.まとめ

Azure Load Testing はアプリケーションや Web サイトのパフォーマンスやスケーラビリティを評価し、ユーザーエクスペリエンスの向上や問題の特定に役立つクラウドサービスです。

本記事ではシナリオの概要を紹介したが、公式のチュートリアルではここからボトルネックを特定して改善するといった一連の流れの詳細が記載されていますのでご参照ください。また自社での導入や運用を難しく感じられる場合、専門家の支援もお勧めいたします。

Azure の導入を相談したい

Azure導入支援サービス

Azure 導入支援サービス

Microsoft Azure 導入の具体的な方法の検討や技術検証を専門家にサポートいたします。

Free

資料ダウンロード

課題解決に役立つ詳しいサービス資料はこちら

資料ダウンロード
  • Azure導入支援・構築・運用サービス総合カタログ

    Microsoft Azure サービスの導入検討・PoC、設計、構築、運用までを一貫してご支援いたします。
    Azure導入・運用時のよくあるお悩み、お悩みを解決するためのアールワークスのご支援内容・方法、ご支援例などをご確認いただけます。

Microsoft Azureを利用したシステムの設計・構築を代行します。お客様のご要件を実現する構成をご提案・実装いたします。

Azure導入個別相談会(無料)

Tag: Azure Load Testing

Contactお問い合わせ

お見積もり・ご相談など、お気軽にお問い合わせください。

single.php