Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Azure Load Testing と Azure用 Jmeter Plugins

Azure Load Testing と Azure用 Jmeter Plugins

第59回 Tokyo Jazug Nightでのセッション資料です。
Azure Load Testingと、Azureに利用できるJMeterプラグインの紹介です。
(おそらく利用したフォントのせいでSpeakerDeckでの文字の表示が崩れていますが、ダウンロードしてAcrobat Readerで表示していただければ正常に見えるようになります。)

Avatar for Kuniteru Asami

Kuniteru Asami

March 24, 2026
Tweet

More Decks by Kuniteru Asami

Other Decks in Technology

Transcript

  1. Azure Load Testing と Azure 用 JMeter Plugins 2026 /

    03 / 23 第 59 回 Tokyo Jazug Night 浅見 城輝 -株式会社 pnop
  2. BEER About me 浅見 城輝(あさみ くにてる) @kunyami @kunyami kuniteru.asami kuniteru.asami

    Find me Find me Database Microsoft Azure 2012~ Microsoft Azure 2012~ Microsoft Azure Microsoft Azure
  3. Azure Load Testing とは Apache JMeter / Locust ベース 大規模負荷を生成

    テスト基盤をサービス化 •Apache JMeter あるい は Locust 用に作成されたシナリオを実行する フルマネージドなロードテストサービス •Azure のインフラに負荷生成を任せ、自前での環境構築が不要 •実行管理と結果の可視化をプラットフォーム側が提供
  4. Azure Load Testing のメリット 負荷生成のスケール 大規模な同時実行を自動でスケールアウト テスト実行の管理 テストの開始・停止・状態管理を一元化 メトリクス収集と可視化 リアルタイムでのパフォーマンス指標の表示

    テスト結果の履歴・比較 過去の実行結果との比較分析機能 CI/CD からの実行 パイプラインとの統合による自動化 •負荷生成のスケールアウトをサービス側が行い、数千・数万の リクエストの発生 を簡単に実現 できます •テスト実行の管理とメトリクスの収集・可視化をプラットフォームが提供し、開発者はテスト シナリオに集中できます •テスト結果の履歴管理と比較機能により、パフォーマンスの変化を追跡でき、 CI/CD パイプラ インからの実行にも対応しています
  5. テストシナリオの作成 xml 形式の jmx ファイルとしてテスト シナリオ を定義 ローカルでの調整 GUI を使った開発と動作確認

    プロトコル対応 HTTP 以外のプロトコルもサポート テスト定義ツール 実行基盤ではなく定義ツールとしての位置づけ Apache JMeter • JMeter はテストシナリオを 定義し、 そして そのシナリオを実行 する ためのツールであり 、 テストシナリオは一般に ローカル環境 で作成・調整します • HTTP リクエストだけでなく、様々なプロトコルに対応している ため、多様なテストシナリオを 実施できます • 大量の同時リクエストを発生させるシナリオのテストを実施する には、複数の高スペックなマシンを利用します。 • Azure Load Testing 環境では、この テストシナリオ ファイルを アップロードして 実行する形となり、 JMeter 自体は「テストを 定義する道具」として 利用します
  6. ローカル テストシナリオ を作成し動作確認 Azure Pipelines / GitHub Actions Azure Load

    Testing を起動 Azure Load Testing シナリオ を実行し結果を可視化・保存 テストシナリオの作成から テストの実施 • ローカル環境では、 JMeter GUI を使って テストシナリオ を作成し 、 必要に応じて プラグ イン も利用しながら 動作確認を行います • Azure Pipelines / GitHub Actions の パイプライン から 、 Azure Load Testing でのテ ストを実施し ます • Azure Load Testing がテストシナリオ を実行し てテスト 結果をパイプラインに返します
  7. Azure Load Testing 前提で JMeter のシナリオを用意する シークレット Azure Key Vault

    認証 Managed Identity 関数 __ GetSecret •シークレット情報は Azure Key Vault に格納し、 JMeter スクリプ ト内にハードコードしない設計が推奨されます •認証には Managed Identity を利用することで、クレデンシャル管 理の複雑さを排除できます •Azure Load Testing では __ GetSecret カスタム 関数が提供され 、 Managed Identity での認証を経て Key Vault のシークレットを取 得できます •この設計により、セキュリティと運用性を両立した、 Azure らしい きれいなアーキテクチャ を実現します
  8. JMeter x Azure Load Tesing • テストシナリオ (jmx ファイル )はローカルの

    JMeter GUI で作成するのが一般的な開 発フローです • まずはローカル環境で動作確認 をしてから Azure Load Testing にデプロイ するで しょう • しかし Azure Load Testing での実行を 前提として 書いたシナリオ が、ローカルの JMeter ではそのまま動作し ない場合があります • Azure Service Bus 、 Azure Event Hubs 、 Azure Storage Queue 、 Azure Cosmos DB など、 Azure サービスをテスト対象にしたいことも
  9. そこで作ったもの JMeter から Azure を自然に扱う ネイティブな統合体験の提供 Azure の設計思想を尊重 認証とシークレット管理の一貫性 Azure

    Load Testing を前提 サービスとの親和性を最優先 環境間の違いを吸収 Azure Load Testing の機能を Plugin として組み込み Apache JMeter Plugins for Microsoft Azure https://github.com/pnopjp/jmeter -plugins •Apache JMeter Plugins for Microsoft Azure は、 JMeter で Azure サービスを扱えるようにす るプラグイン群です •Azure の設計思想を尊重し、セキュリティと運用性を損なわない実装になっています •Azure Load Testing での利用を前提としながら、ローカル環境でも動作するよう設計されてい ます •環境間の違いを吸収 し、開発者の生産性を向上させます
  10. Plugins •Azure Event Hubs Sampler Event Hubs へのメッセージ送信とイベント処理をテストするため の Sampler

    •Azure Service Bus Sampler Service Bus キューとトピックに対するメッセージング操作をテス トする Sampler •Azure Storage Queue Sampler Storage Queue へのメッセージ送受信をテストするための Sampler •Functions Azure Cosmos DB や App Service などの認証に対応する関数 •Azure Load Testing Stub Azure Load Testing 固有のカスタム関数 __ GetSecret を ローカル環境でも解釈できるようにするスタブ実装
  11. Azure Load Testing での使い方 テストシナリオファイル 定義 jmx ファイル の定義 依存ファイル準備

    CSV、 Plugin JAR の用意 Azure Load Testing に渡す 一式をアップロード サービスが実行 実行主体は Azure Load Testing •Azure Load Testing にテスト シナリオ (jmx ファイル )をアップロードし 、 それをベースにロード テストを実行します •シナリオ が利用するもの (CSV データファイル、 Plugin JAR) は、 シナリオファイル と一緒に Azure Load Testing に登録します •実行の主体は Azure Load Testing サービス側であり、開発者は テストシナリオ とそ れへの依存 ファイルを用意するだけです https://blog.pnop.co.jp/tags/Apache -JMeter
  12. まとめ Azure Load Testing 実行と可視化の基盤 JMeter テスト定義ツール プラグイン 機能拡張 Azure

    Pipelines GitHub Actions テストを起動 • Azure Load Testing は実行と可視化の基盤として、ロードテストのライフサイクル全体を管理します • JMeter はテストシナリオを定義する道具として、 Azure の設計思想に沿った テストシナリオ を書きます • プラグイン で JMeter の機能を拡張して、 Azure サービスとの統合を実現し、環境間の 差を吸収します • Azure Pipelines / GitHub Actions から Azure Load Testing を利用した負荷テストを実施します
  13. 株式会社 pnop 株式会社 pnop は Microsoft Azure に関する課題解決のプロフェッショナル集団です。 皆様のプロジェクトに、 Azure

    経験豊富なエンジニアがノウハウを提供いたします。 Azure アーキテクチャ 設計相談 Azure 運用設計 相談 Azure 開発 Azure 環境構築 Azure トラブル シューティング Azure トレーニング 新規システムを Azure で稼働させしたい 既存システムを Azure に移行したい パッケージ・ソリューションを Azure に対応したい Azure を利用することで システムコストを下げたい Azure で安全・安心な システムを提供したい Azure を利用することで 運用担当者の負担を軽減したい Azure を利用しているうえで 困っていることを解決したい Azure のスキルを向上したい Azure に関するご相談・お問い合わせ: [email protected] https://www.pnop.co.jp