2.2K Views
February 08, 24
スライド概要
第46回 Tokyo Jazug Night 2024/02/07(水) 19:00 〜 21:00 発表資料です。
Microsoft MVP for Microsoft Azure/ Azure, .NETのWebアプリケーションエンジニア / 技術情報発信・勉強会実況アカ /
簡単に使えるようになった 「Azure Load Testing」を 改めて学びなおす 第46回 Tokyo Jazug Night 2024/02/07(水) 御成門プログラマー(Tomotaka Suzuki)
自己紹介 名前:御成門プログラマー(Tomotaka Suzuki) 受賞: Microsoft MVP(Microsoft Azure) 2023年6月~ 技術: Microsoft Azure(コスト関連多め), .NET, Angular X(Twitter) : @onarimonprogram 技術ブログ : onarimon.jp グルメブログ: food.onarimon.jp
Azure Load Testing 大規模な負荷を生成できるフルマネージドのロードテストサービス。 手動ではできない規模の負荷をかけたアプリケーションのテストが実行できる パフォーマンスは求められているレベルを維持できているか?ボトルネックを探す。 予期していない挙動をしていないか? エラーが帰ってきていないか? そもそも落ちていないか? 2023年2月1日にGA JMeter スクリプトをベースに動かすサービスだったが→ Azure のロード テストとは | Microsoft Learn
JMeter スクリプトを使用しないロードテストの作成が Azure Portalから可能に(URLベースのテスト) JMeter スクリプトがなくても作成可能に →作成ハードルが下がりました。 今までも「Quick test」という名前でPortalからテストはできたが、細かい設定まではでき なかった →簡単なテストであればポータルポチポチだけで充分可能に Create tests by adding HTTP requests in Azure Load Testing | Azure の更新情報 | Microsoft Azure
Demo Azure Portal から HTTP要求テストを作成する。
2023年8月東日本リージョンにGA 東日本リージョンにできたことでプライベートエンドポイントを使用して、日本の閉域の エンドポイントに対して簡単にテストできるようになったのが大きい →日本国内での注目度もアップ Generally available: Azure Load Testing in Japan East and Brazil South | Azure の更新情報 | Microsoft Azure
Azure Portal から CI/CD の設定も簡単 Azure Portal から Azure DevOpsのパイ プラインを自動で作ることも可能。 自動で JMeterスクリプトと CIのymalファイル がレポジトリにコミットされます。 結果もPortalから確認可能。
Azure Portal から CI/CD の設定も簡単 Azure DevOps の Marketplace から Azure Load Testing の拡張をインス トールする必要あり →ドキュメントに載っていない パイプライン初回実行時はパイプライ ンにアクセス許可を与える必要あり →ドキュメントに載ってる クイックスタート: CI/CD を使用したロード テストの自動化 Azure Load Testing | Microsoft Learn
ここまでAzure Portal からの方法を 紹介してきましたが
JMeter スクリプトを使わないとできないこともある!? 細かい設定や機能はどうしてもスクリプトを組む必要がある。 JMeterを普段から使いこなしている方からしたら画面からだと付かない機能が多い? →自分がJMeter素人すぎてそこまで至らなかった… Entra ID 認証のかかったAPIをテストする場合はJMeter スクリプトが必要そう。 そんな悩みを抱えたらレベルアップのタイミングかも → JMeterスクリプトベースのテストにチャレンジしよう。
URLベーステストをJMeter方式に変換も可能です 今回Azure Poratal から作成したURLベースのテストをそのままJMeterベースのテスト (JMXテスト)に変換が可能です(元には戻せないので注意)。 変換前の設定を元にJMXファイルを落とせるのでそちらを利用して応用していくことが 可能。
気になるコスト Azure Load Testing リソース1か月あたり1,476.750円 1か月あたりの50仮想ユーザー時間(VUH) 付き 50VUH超過時 0 ~ 9950VUH 22.152円/VUH 9950VUH~ 11.076円/VUH つまりAzure Load Testing 1リソースの金額は下記の要素で構成される Azure Load Testing の基本料金 仮想ユーザー時間(VUH) = 実行したテストの仮想ユーザー数×テスト実行した時間 (被テスト対象リソースの利用量、通信料など) Azure Load Testing - 価格 | Microsoft Azure
ロードテスト実行の注意点 検証リソースに負荷がかかるので本番環境では試さない。 →影響が出ても問題ない環境で。 もちろん自分の管理している環境以外に無許可で流してはいけない。 検証リソースの費用がかかることを忘れない。 実行回数課金のリソースがあったら大変なことになるかも… Azure Functions, API Management などなど
Demo結果確認 はたして結果は?
実行するとどんな結果が得られるの? 要求数、応答時間、エラー数などなど。各リソースのメトリックと紐づけることも可能
まとめ Azure Portal からも簡単に Azure Load Testing が使えるようになった(URLベーステ スト)。 JMeter スクリプトがなくても作れるようになったので参入障壁も下がる Azure Load Testing を触ったことがない皆さんも気軽に触ってみよう。 URLベーステストでは痒いところに手が届かないので、本格的にやるとなると JMeter スクリプトを使ったテスト(JMXベーステスト)に変更するときがやってくるはず。