kokoni

クラウドおじさんの備忘録

WebAppsのパフォーマンステスト機能を試してみた

久しぶりの投稿になります。プライベートに仕事に忙しかったのが言い訳です。

 

WebAppsのメニューにパフォーマンステストという項目があることに気づいてらっしゃる方はいると思います。この機能はVTSTのロードテストを簡易的に利用することのできる機能です。対象のWebAppsに対して負荷をかけるのが目的になります。

例えば運用中のサイトのピーク時のアクセス数が15分で2000人だったとして、その時のサイト表示時間の平均秒数が5秒だったとした時にインスタンスサイズをどの程度スケールアウトするべきか等を試すのに適しています。

VSTSのロードテスト機能については以前に本ブログでとり上げてますのでよろしければチェックしてみてください。

https://cdn.kokoni.jp/2018/02/13/azurewebapps%E3%81%AB%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4%E3%81%97%E3%81%9F%E3%82%B5%E3%82%A4%E3%83%88%E3%82%92vsts%E3%81%AE%E3%83%AD%E3%83%BC%E3%83%89%E3%83%86%E3%82%B9%E3%83%88%E6%A9%9F%E8%83%BD/cdn.kokoni.jp

 

公式の情報は下記になります。現時点で英語版のみになります。

docs.microsoft.com

 

docs.microsoft.com

 

では試した内容について記載していこうと思います。

※本記事は2018年9月9日時点の情報となります。

 

パフォーマンステストの作成と実行

パフォーマンステストはVSTSで実施されますのでVSTSを作成する必要があります。Set AccountからVSTSのアカウント作成してください。

 

本記事ではすでにVSTSを持っていることを前提としていますのでSet Organizationから始めます。既に作成してあるOrganizationから選択するかCreateNewから新規に作成します。後は実行するサブスクリプションを選択してVSTSの設定は完了です。

 

VSTSを作成するにはAzure Active DirectoryによってサポートされているAzureサブスクリプション がリンクされていて、そのユーザーがリンクされているAzureサブスクリプションのメンバーである必要があります。

VSTSのOrganizationを作成せずにパフォーマンステストを作成するとランダム文字列のOrganizationが作成されますので注意してください。

 

それではパフォーマンステストを作成して行きます。メニューのNEWから作成していきます。

 

・CONFIGURE TEST USING

TEST TYPEを設定していきます。TEST TYPEには「Manual Test」と「Visual Studio Web Test」があります。「Manual Test」はURLを特定のURLを1つだけ指定してテストを実施します。「Visual Studio Web Test」はファイルによる複数指定URLを設定してテストを実施します。

・NAME

パフォーマンステストの名称を入力します。

・GENERATE LOAD FROM

パフォーマンステストを実施するVSTSのリージョンを指定します。ここでは日本で利用する場合にはEast Asiaあたりがよろしいでしょう。

・USER LOAD

ユーザロードは並列で実施する仮想人数の指定になります。

・DURATION(MINUTES)

パフォーマンステストを実施する時間になります。

 

上記の設定では5分間に250ユーザが当ブログにアクセスすることを想定したテストになります。例えば1分で1000人がアクセスするテストを行いたい場合はUSER LOADを1000にしてDURAITONを1にすれば実施可能です。設定入力をしたら「RUN TEST」を押して負荷テストを実行します。

 

Fiddlerを利用したWebテストファイルの作成方法

docs.telerik.com

 

・VisualStudioを利用したテストファイルの作成

docs.microsoft.com]

 

パフォーマンステストの確認

設定が完了し負荷テストを開始したら状況を確認してみましょう。

パフォーマンステストのリストから作成した負荷テストの一覧が表示されます。下記では中止したテストと完了したテストを表示しています。

上記のリストからCompletedのテストを選択します。実行結果の詳細を確認できます。

リクエストの実行結果とWebAppsのCPUとMEMORY利用量が確認できます。円グラフを選択するとステータスの詳細を見ることもできます。メモリのところが億単位で出てるのはちょっと愛嬌ですね。

 

負荷テストの情報をもってピーク時に対応するためのスケールアップサイズを考慮したり、スケールアウト数を決めたりする判断材料となるので利用価値は高いです。最適なスケールアウト数を検討するために利用することをお勧めします。