Azure Functions メニューからも HTTP Trigger 関数に対する Azure Load Testing が実行出来るようになりました

Azure Functions メニューからも HTTP Trigger 関数に対する Azure Load Testing が実行出来るようになりました

Clock Icon2024.07.26

いわさです。

Azure には JMeter ベースのフルマネージドな負荷テストサービスがあります。
以前のアップデートで Azure App Service の機能としてこの Azure Load Testing が統合されて、App Service メニュー上から実行出来るようになっています。

https://dev.classmethod.jp/articles/alt-appservice/

先日のアップデートで Azure Functions でも同様にサービス側のメニューに Azure Load Testing が統合されました。
これによって HTTP Trigger 関数を作成時にすぐにパフォーマンステストを実行することが出来ます。

https://azure.microsoft.com/en-us/updates/v2/Azure-Load-Testing-Azure-Functions

使い方

使い方としては Azure Functions のポータル画面メニューから負荷テスト内容を直接設定するような形になるのですが、前提として評価対象は HTTP Trigger 関数である必要があります。

なので、まずは HTTP Trigger で関数を作成しましょう。

9E2D569B-92B1-499F-ACA1-B051F0F6BCEF

F7D6D972-832A-4DDA-8296-D202934CD3C2

テスト作成

で、関数作成後にパフォーマンスの Load Testing (プレビュー) メニューから Azure Load Testing 関係の機能にアクセスすることが出来ます。

DF794A88-BC2B-4EE0-8CF5-45CF034B7568

この関数が関連付けされたテスト一覧を確認することが出来ます。

A4642E6E-005A-440E-ABEF-9E0CD83618F6

このメニューからテストを開始するわけなのですが、Azure Load Testing リソースがまだなければリソースの新規作成から開始することも可能です。

BDFE57C3-61A3-4119-AEAF-F7DBE7F4C306

今回は Load Testing リソースが既に存在する状態だったので、既存リソースを選択してテストだけ新規作成を行います。

CAC7D86D-095F-4712-BD14-FB11CF656002

テスト作成時にはまずテスト対象のエンドポイントを指定する必要があるので、最低限 Azure Functions の対象 HTTP Trigger 関数を指定する必要があります。
さらにその上で HTTP リクエストに必要なパラメータやヘッダー・メソッドなどを細かく指定することが出来る他、関数実行のための API キーの指定も可能です。便利。

4E70751B-BB5B-4D31-AD03-74403DA9E316_1_105_c

今回は先程の HTTP Trigger 関数を指定して次のように構成しました。

238A7822-C943-4E88-8DEB-4E1F81536B52

テスト作成が完了すると、初回実行が自動で行われます。
テストが開始されると、Azure Functions ポータルのテスト一覧画面に作成・実行したテストが表示されるようになりました。

282CEFA3-DE9A-46EB-A352-48477611B5EA

先ほどは Azure Functions の画面でしたが、Azure Load Testing ポータル側でももちろん実行したテストを確認することが出来ます。
こちらでは関数以外にテストも含まれているので他の実行結果も含まれる形となっていますが、実体としては通常の Azure Load Testing によるテストであることがわかります。

FFF23345-C444-48F3-9BE9-B731EFFFE2FE

さいごに

本日は Azure Functions メニューからも HTTP Trigger 関数に対する Azure Load Testing が実行出来るようになったので確認してみました。

今回のような単純な関数だと負荷テストの意味はあまりありませんが、例えば外部サービスやデータストアと連携しているとか、ノイジーネイバーの挙動とか、負荷が発生した時に期待どおり動作するか確認したい時に利用出来そうです。

この記事をシェアする

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.