Visual Studio 2010 Ultimateを利用すると、"ロードテスト"を実行することができます。ロードテストは、複数のユーザーの挙動をシミュレーションすることができるテストです。
テスト環境
以下の環境を例にロードテストを説明します。
Webサーバーに25人がアクセスしているという状況をシュミレーションし、その時のWebサーバーのパフォーマンスを測定します。
*テストされるもの(Webサーバー)のソースコードは一切必要ありません。
ロードテスト
1. Visual Studioを開き、新規作成→プロジェクトからテスト→テスト プロジェクトを選択します。
2. ロードテストには、シュミレーションするためのテストの作成が必要です。
ここでは、任意のWebパフォーマンステストを2つ作成します。
*ご参考:このブログの以前の記事です。Visual StudioでWebパフォーマンステスト
3. プロジェクトを右クリックして、追加→ロード テストをクリックします。
4. 説明が表示されるので"次へ"をクリックします。
5. ロード テスト シナリオの設定の編集をします。
"待ち時間"はWeb パフォーマンス テストの.webtestの"要求の詳細の設定"をクリックすると確認できます。
6. 擬似ロードのロード パターンを選択します。
ユーザー数を一定にするか(擬似ロード)、動的に変更するか(ステップロード)です。
ここでは、ユーザー数が25で一定数の擬似ロードを選択します。
7. ロードテストのテストミックスモデルを選択します。
ロードテストは1つ以上のテストをミックスできるテストです。そのミックスの方法の指定です。
テストミックスモデルは4つあり、以下にそれぞれを示します。
[テストの合計数]
[仮想ユーザー数]
[ユーザーのペース]
[テストの時系列順]
ここではデフォルトの"テストの合計数"を選択しました。
8. ロードテストに追加するテストを選択します。
(以下の画面はテストミックスの選択で変わりますが、本質は変わりません)
上記画面で"追加"をクリックして、2で作成したWeb パフォーマンス テストを追加します。
以下のような画面になります。
以下の設定の意味はWebTest1を50%、WebTest2を50%の比率でロードテストを行うという意味です。"配布"ドラッグして%を変えることも可能です。
9. シミュレーションするネットワークの種類を選択します。
10. シミュレーションするブラウザーの種類を選択します。
11. 監視するコンピューターを追加します。
"コンピューターの追加"をクリックして、パフォーマンスを取得するコンピューター(今回は「WEB」)を追加します。
*「Seven」から「Web」のパフォーマンスを取得するには、「Seven」から「Web」にPerfmon.mscでアクセスできるユーザー権限が必要です。その方法についてはMicrosoftのサイト(英語)をご確認ください。
12. テスト時間を入力しウィザード終了です。
13. .loadtestファイルが出来上がります。"テストの実行"をクリックします。
14. テスト中に、リアルタイムでパフォーマンスがわかります。
15. テストが終わると結果が表示されます。
[概要]
[グラフ]
[テーブル]
[詳細]
補足
・仮想ユーザー数の最大値は250人で、テストはローカルで実行され、CPUの1つのコアを使用するように制限されております。この制限を解除するには、Visual Studio 2010 Load Test Feature PackもしくはVisual Studio Load Test Virtual User Pack 2010を使用する必要があります。この点については後日ブログを書く予定です(2012/1/26追記:こちらに記述しました)。
リンク
・Identify and Fix Performance Problems with Microsoft Visual Studio Ultimate (Tech·Ed US)
・Visual Studio 2010 Ultimate 試用版はMicrosoftのサイトからダウンロードできます。