【VisualStudio チュートリアル】負荷テスト
チュートリアルは、Visual Studio 2015 RC で作成されています。
この記事では、Visual Studio 2015 を使って負荷テストを簡単に実施するためのチュートリアルをご紹介いたします。
Visual Studio2015では、クラウドベースの負荷テストを簡単に実施することができます。
お手元のVisual Studio からテスト用のバーチャルマシンのインスタンスを複数起動して、
あなたのWebサイトに対して同時に負荷をかけることができます。
今回のチュートリアルでは、皆さんのサイトの代わりに、Bingに対して負荷をかけていきます。
負荷テストを作成する
Visual Studioで、「Web パフォーマンスとロードテストのプロジェクト」を選択します。
プロジェクトの名前は何でも構いませんが、ここでは、説明のため「LoadTestForMyAPP」にしています。
パフォーマンステストを記録する
負荷テストを実施するまえに、パフォーマンステストを作成します。これは、負荷テストにおける実行シナリオを指します。
Solution Explorerのプロジェクト名の箇所を右クリックします。次の例では「LoadTestForMyAPP」です。
プロジェクト名右クリック - [追加] – [Web パフォーマンステスト] を選択してください。
そうすると、ブラウザが起動して、負荷テストシナリオを記録し始めます。
ブラウザが起動したら、BingのURL(www.bing.com)を入力してください。
ブラウザは記録を始めます。
今回はこの検索ボックスに対して「Visual Studio 2015」と入れて検索してみました。
その後、検索結果がでますので、「Microsoft Visual Studio ホームページ」のサイトを選択しました。
ブラウザに表示されているWeb Test RecorderのStopボタンを押すと、今までの操作が記録されます。
Visual Studio 2015は動的なパラメータ入力があった個所を通知してくれます。
ではVisualStudioがこのシナリオが正常に動作するかをテスト実行してみましょう。
記録されたシナリオは、WebTest[数字]という名前で保存されます。
このウインドウにある、ビーカーアイコンをクリックして、 [テストの実行] を選択してみましょう。記録したシナリオが正しく動作するかを検証してくれます。
正しく動作しているようです。
参考までに、WebTest[数字]が記録したテストシナリオになるのですが、あなたがブラウザで、入力した値が組み込まれている様子がわかると思います。
もしかすると、負荷テストに、閾値を設けたいかもしれません。
閾値を設けたい、WebTest[数字].webtest の中に表示されているURL(https://www.bing.com/search)を右クリックしてください。
プロパティを設定できる画面がでてくるので、[応答時間の目標(秒)] を1に設定してみました。(デフォルトは0)
また、手で入力したパラメータをプログラマブルに設定したいという場合は、英語になりますが、こちらのページをご参照ください。
Fix non-detectable dynamic parameters in a web performance test (英語)
https://msdn.microsoft.com/en-us/library/ff460245.aspx
これで負荷テストのためのパフォーマンステストのシナリオ作成は完了です。
負荷テストを作成する
Solution Explorerのアプリケーション名(ここではLoadTestForMyAPP)を右クリックしてください。
[追加] – [ロードテスト] の順にクリックします。
負荷テスト用のウィザードが起動します。
Load Patternを選択し、負荷のパターンを選択します。
ここでは、段階的に負荷をかけていく方法を選択しました。
初めに10ユーザから初めて、10秒ごとに、10ユーザづつ増加し、100ユーザになるまでそれが繰り返されるという設定です。
次にTestMixを選択します。図の「Add」ボタンを選択します。
先ほどブラウザで記録した、WebTestが表示されますので、負荷テストで使いたいWebTestを選択してください。
最後にRun Settingsで、負荷をかける時間を設定します。
Run durationの部分を 0 2 0 に変更します。負荷テストは、リクエストを多く発生させます。
皆様がご自分のサイトにお試しでやってみたいときに、あまり長時間にすると、請求が大きくなってしまいますので気をつけましょう。
Finishボタンを押下すると、負荷テストの設定が完了します。
クラウドの負荷テスト設定
[ソリューション エクスプローラー] の [Solution Items] > [Local.testsettings] をダブルクリックします。
テストの設定画面が表示されますので、テストの実行場所を「Visual Studio Online を使用してテストを実行」を選択します。そして、Closeボタンを押して設定を閉じます。
次にチーム エクスプローラーを開きます。[Select Team Project] をクリックします。
クラウドの負荷テストを実施するためには、Team Foundation Serverに接続する必要があります。
下記の画面が出てきたら、[サーバー] をクリックします。
次の画面がでてくるので、Team Foundation Serverを追加します。
お持ちになられているTeam Foundation ServerのURLを記入してください。
[username].visualstudio.comの形式になっています。
Team Foundation Serverのセットアップする手順がわからない人は、このチュートリアルの最後に簡単なセットアップ手順(参考 Visual Studio OnlineのTeam Foundation Serverセットアップ方法)を書いておきましたのでご参照ください。
OKのボタンを押すと無事にTeam Foundation Serverがセットアップされました。
次に [接続] ボタンを押して、サーバに接続します。
Team Foundation Serverに接続するための、Visual Studio Onlineのユーザ/パスワードを聞かれますので、記入してサインインしてください。MicrosoftアカウントはE-Mailアドレスです。
サインインに成功すると次のような画面になり、Team Foundation Serverに無事接続されました。
負荷テストの実行と分析
負荷をかける準備が整いましたので、実際に負荷をかけてみます。
先ほど作成した、負荷テスト 「LoadTest1.loadtest」のタブを選択します。
タブの直下にある、ビーカーのアイコンを選択し、[ロードテストの実行] を実行します。
設定した時間だけ負荷をかけたのち、各種のデータを分析することができます。
これはパフォーマンスやスループットの情報を見ることができます。
「Donwload Report」を実行することで、負荷テストのデータをローカルにダウンロードすることができ、サマリ、グラフ、テーブルなどの形式のデータを見ることができます。
ここまでで、Visual Studio 2015の負荷テストのイントロダクションをご紹介いたしました。
負荷テストでは、作成したアプリケーションの分析をより詳細に行うための方法もあります。
ご興味のある方は英語になりますが、下記の動画を見て、是非より強力な負荷テストの機能をご体験ください。
Visual Studio Cloud-based Load Testing
https://channel9.msdn.com/Events/Visual-Studio/Connect-event-2014/210?wt.mc_id=player
参考 Visual Studio Online のTeam Foundation Serverセットアップ方法
https://www.visualstudio.com/ja-jp にアクセスします。
お持ちのMicrosoftアカウント(E-Mailアドレス)を入力してください。
アカウントが存在しないときは「無料アカウントを今すぐ作成」というリンクをクリックします。
ある場合は、アカウントを選んでクリックしてください。
次に、プロジェクトを作成します。「Recent projects & teams」の「New」リンクをクリックしてください。
プロジェクトの情報を入力して、「Create project」をクリックするとプロジェクトが作成されます。
これで、負荷テストを試すための、プロジェクト設定は完了です。
参考
Visual Studio Onlineてなに? TFSとどこが違うの?
https://blogs.msdn.com/b/visualstudio_jpn/archive/2014/01/24/what-is-visual-studio-online.aspx
Getting Started with Visual Studio Online (英語)
https://channel9.msdn.com/Events/Build/2014/2-575