メイン コンテンツにスキップ

 Subscribe

このブログは、Azure Developer Experience のエンジニアリング パートナー ディレクター、Ashish Shah 氏との共同編集です。

Azure Load Testing の一般提供の開始を発表します。Azure Load Testing はフルマネージドのロード テスト サービスであり、大規模な負荷の生成、実用的な分析情報の取得、お使いのアプリケーションとサービスの回復性の確保を、ホスティングされている場所に関係なく行うことができます。開発者、テスト担当者、エンジニアリング チームはこれを使用して、アプリケーションのパフォーマンス、スケーラビリティ、容量を最適化できます。

URL を使用してお使いの Web アプリケーションのロード テストをすばやく作成し、今すぐ Azure Load Testing の使用を始めましょう。既に JMeter を活用したロード テストを行っている場合は、既存の Apache JMeter テスト スクリプトを再利用することで簡単に始めることができます。

開発者ワークフローへの回復性テストの組み込み

Microsoft の目標は、開発者がより少ない労力でより多くのことを行えるようにすることです。 パフォーマンス、スケーラビリティ、または回復性の問題が運用環境、または運用環境に近いところで確認された場合、解決は非常に困難でコストがかかる可能性があります。Azure Load Testing を使用することで、開発者は、開発者ワークフローの一部として、コード作成時に近い段階で問題を把握することができ、貴重な時間とエネルギーを節約することができます。

"クラウド エコシステム セキュリティ チームは、品質のシフト レフト構想の一環として、CI/CD パイプラインの一部として Azure Load Testing を使用して運用ビルドをゲートすることにより、複数の特別な負荷関連バグが運用環境に到達することを防ぐことができました。また、サービス チームは、Azure Load Testing の負荷と Azure Chaos Studio のフォールト インジェクション シナリオを組み合わせて、通常のテスト フレームワークでは捕捉が難しい、好ましくないシナリオの複製、根本原因の特定、防止を実現できました。Azure Load Testing を使用することで、サービス回復性を検証し、分散したシステムの境界を明らかにし、未使用のリソースやフレームワークを排除することでコストを削減できました。" — Microsoft Cloud Ecosystem Security エンジニアリング チーム

"Azure Synapse チームは Azure Load Testing を使用して、Synapse SQL Serverless エンドポイントをターゲットに、高コンカレンシーから大規模入力データのシーケンシャル実行まで、さまざまなレベルのワークロードを生成しています。JMeter の柔軟性により、クラスター内で他のサービスを開始/停止してさまざまなフォールトを挿入することができるため、サービスの耐障害性を真にテストすることができます。" — Microsoft Azure Synapse エンジニアリング チーム

必要な分だけお支払い

顧客トラフィックの急増に対するアプリケーションとサービスの回復性を確保しながら、インフラストラクチャを最適化できます。Azure Load Testing を活用して、運用開始前にインフラストラクチャを最適化し、予想される顧客トラフィックを計画し、必要な分だけをお支払いいただけます。その後、Azure Load Testing を活用して、計画外の負荷の増加に対するテストを行うことができます。

Azure Load Testing サービスの [テストの作成] ダイアログと [読み込み] タブを使用すると、Engine インスタンスを制御するための簡単なスライド バーを使用してロード テストをスケーリングできます。

図 1:Azure Load Testing の負荷を簡単にスケーリングして、アプリケーションとサービスの回復性を確認できます。

回帰テスト

Azure ベースのアプリケーションの場合、Azure Load Testing によって詳細なリソース メトリクスが収集されるため、Azure アプリケーション コンポーネント全体のパフォーマンス ボトルネックを特定できます。継続的インテグレーションと継続的デプロイ (CI/CD) ワークフローの一部としてロード テストを実行することにより、回帰テストを自動化することができます。

 

Azure Load Testing サービスを開発者の CI/CD ワークフローに統合する方法の概要図です。

図 2: 成功/失敗条件を使用して、ロード テストを開発者ワークフローに組み込むことができます。

Azure 固有の分析情報は、さまざまな負荷のシナリオがお客様のアプリケーションのすべての部分にどのような影響を与えるかを理解するのに役立ちます。また、異なるロード テスト間でテスト結果を比較して、時間経過による動作の変化を理解することができます。

Azure Load Testing では、Azure Monitor を使用して、アプリケーション分析情報やコンテナー分析情報などの監視データが作成され、Azure サービスからの詳細情報を取得できます。サービスの種類に応じて、異なるメトリクスが利用できます。たとえば、データベースの読み込み回数、HTTP レスポンスの種類、コンテナーのリソース消費量などです。クライアント側とサーバー側の両方のメトリクスを、Azure Load Testing ダッシュボードで利用できます。

ロード テスト中にキャプチャされたクライアント側メトリックのダッシュボード ビューを使用した Azure Load Test の実行例の画像。仮想ユーザー (最大)、応答時間 (成功した応答)、要求/秒 (平均)、およびエラー (合計)。

図 3:Azure Load Testing を使用して、クライアントと Azure サービス側のメトリック全体のパフォーマンス分析情報を取得できます。

高度なロード テスト シナリオを有効にする

より高度なロード テスト シナリオに対応するため、人気のあるオープンソースの負荷およびパフォーマンス ツールである JMeter ベースのロード テストを作成することができます。たとえば、テスト計画は、複数のアプリケーション要求で構成される場合や、より動的なテストにするための入力データとパラメーターで構成される場合があります。また、既存の JMeter のテスト スクリプトがあれば、それを再利用して Azure Load Testing でロード テストを作成することができます。

Azure Load Testing アーキテクチャの概要の画像。Azure Load Test の作成と実行が、アプリケーションおよび Azure サービスの依存関係とどのように相互作用し、メトリックの詳細が Azure Monitor に送信されるかのデモです。

図 4: Azure Load Testing のアーキテクチャ概要。

プレビュー以降の変更点

Azure Load Testing の開始以来、Microsoft はお客様からのフィードバックに基づいて、いくつかの新機能を有効にしました。

クイック テストの作成

Azure SDK Load Testing ライブラリ

JMeter の機能

認証、ユーザーマネージド ID、カスタマー マネージド キー

追加のメトリック

コンプライアンスと提供されるリージョン

Azure Load Testing を開始する

Azure portal で Azure Load Testing リソースを作成することで、Azure Load Testing の使用を開始することができます。Azure Load Testing のドキュメントを確認して、最初のロード テストを作成してみましょう。

価格の詳細については、Azure Load Testing の価格ページをご覧ください。

新しい DevOps Lab エピソード Azure Load Testing の新機能をご覧ください。

DevOps Lab での Azure Load Testing

図 5:Azure Load Testing の新機能 (April Edwards と Nikita Nallamothu による)

フィードバックのお願い

フィードバック フォーラムでお客様のご意見をお待ちしています。

  • Explore

     

    Let us know what you think of Azure and what you would like to see in the future.

     

    Provide feedback

  • Build your cloud computing and Azure skills with free courses by Microsoft Learn.

     

    Explore Azure learning


Join the conversation

Leave a Reply

Your email address will not be published. Required fields are marked *