Rick Potts (ソフトウェア設計エンジニア)
Microsoft Corporation
September 2006
日本語版最終更新日 2007 年 3 月 7 日
適用対象:
Visual Studio 2005
Visual Studio Team Edition for Software Testers
概要: Microsoft Visual Studio Team Edition for Software Testers には、ロード テストを実行、監視、および分析するツールが用意されています。ロード テストの結果ビューアを使用して、実行中のテストの監視または完了したテスト結果の分析を行うことができます。この文書は、ロード テストの結果ビューアの機能について説明します。
目次
実行中のテストの監視または完了したテストの結果の分析
ロード テストの結果へのメモの添付
ロード テストの結果の表示
アナライザとモニタの違い
まとめ
実行中のテストの監視または完了したテストの結果の分析
ロード テストの結果には、テストが行われているコンピュータから、定期的に収集されるパフォーマンス カウンタのサンプルおよびエラー情報が含まれています。ロード テストの一連の実行により、パフォーマンス カウンタのサンプルが大量に収集されることがあります。収集されるパフォーマンス データの量は、実行の長さや、サンプリング間隔、テストが行われるコンピュータの台数、および収集するカウンタの数量によって異なります。大規模なロード テストでは、収集されるパフォーマンス データの量は、数 GB を容易に超えます。
既定では、テスト コントローラはテストの実行中に、すべての収集されるロード テスト サンプル データをデータベースにスプールします。タイミングやエラーに関する詳細といった追加データは、テストが完了するとデータベースに読み込まれます。完了したテストのパフォーマンス データは、データベースから読み込まれ、ロード テスト アナライザにより分析されます。ロード テストの結果データベースから読み込まれる完了したテストの結果は、実行後の結果と呼ばれます。
テストの実行中、パフォーマンス カウンタ データの要約版は、ロード テスト モニタによりメモリ内で管理されます。結果の管理に必要なメモリ量が無限に大きくならないようにするため、ロード テスト モニタは、パフォーマンス カウンタごとに 200 サンプルまで管理します。これには、実行にかかる現在の経過時間にわたり、等間隔に並べられた 100 のサンプルと最近の 100 のサンプルが含まれます。実行中に蓄積される結果は、実行時の結果と呼ばれます。
ロード テストの結果へのメモの添付
説明と分析のメモを、ロード テストの結果に添付することができます。ロード テスト アナライザまたはロード テスト モニタのいずれかのコンテキスト メニューから [分析] コマンドによって、[分析] ダイアログ ボックスが表示されます。

図 1. [分析] ダイアログ ボックス
ロード テストの結果の表示
ロード テスト アナライザおよびロード テスト モニタの両方で、ロード テストの結果のグラフ ビューおよびテーブル ビューが提供されます。

図 2. 典型的なロード テストの結果 (拡大表示するには画像をクリックします)
グラフ ビュー
- メイン ツール バー - アナライザおよびモニタでパネルを有効または無効にするコマンドを提供します。
- ステータス バー - テストのステータスをレポートします。
- パフォーマンス カウンタ ペイン - すべての収集されたカウンタを一覧で表示します。
- テスト サマリー ペイン - テストの結果全体のクイック サマリーを示します。
- グラフ ツール バー - グラフ機能を制御するコマンドを提供します。
- グラフ領域 - テストの結果のグラフを表示します。
- グラフ ズーム バー - 選択された線のデータを表示します。
- グラフ プロット ポイント - グラフの水平幅を変更します。
- グラフの凡例 - 統計値によりグラフに描画されたすべてのカウンタを一覧で表示します。

図 3. テーブル ビュー (拡大表示するには画像をクリックします)
- テーブル ツール バー - 複数のテーブルから選択することができます。
- テーブル データ - データをテーブルで表示します。
アナライザとモニタの違い
ロード テスト アナライザとロード テスト モニタは、ユーザー インターフェイスは似ていますが、次の点で異なります。
- ロード テスト アナライザに特有な相違点 (実行後のロード テストの結果を表示中):
- 単一グラフ モード (ズーム) により、いかなる時間の範囲内のデータのズーム イン、ズーム アウトも行うことができます。
- 最小/最大線の表示というグラフ オプションにより、折りたたまれているデータのグラフの高水位線と低水位線を表示することができます。
- テーブル ビューには、百分率の統計があります。
- ロード テスト モニタに特有な相違点 (実行時のロード テストの結果を表示中):
- 圧縮とスクロールの 2 つのグラフ表示モードがあります。
- 圧縮モードとスクロール モードのいずれかを選択することができます。
- まだグラフに描画されていないパフォーマンス カウンタの上をマウスが移動するときに、"サンプル プロット" がグラフに表示されます。
- テストの残り時間を示すプログレス インジケータがあります。
- ロード テストを停止するための停止ボタンがメイン ツール バーにあります。
- テストが完了するとステータス バー リンクが表示され、これにより、結果が実行時の結果から実行後の結果へ変化し、モニタからアナライザへビューアを切り替えることができます。
1. メイン ツール バー
メイン ツール バーは、ロード テスト モニタおよびロード テスト アナライザのビューに埋め込まれ、次のコマンドを提供します。
- 実行中のテストを停止します (テストが完了しているときは無効にします)。
- データ ペインをグラフまたはテーブルで表示します。
- ロード テストのパフォーマンス カウンタ ペインを表示または非表示にします。
- ロード テストのサマリー ペインを表示または非表示にします。

図 4. メイン ツール バー
Shift キーを押しながら Alt キーを押すと、メイン ツール バーにキーボードのフォーカスを設定することができます。
2. ステータス バー
ロード テスト モニタおよびロード テスト アナライザのステータス バーは、実行中のテストまたは完了したテストの状態を示します。次のコンポーネントが、ロード テストのステータス バーに表示されます。
- ステータス アイコン - テストの状態を示します。テストの状態は、次のいずれかとなります。
- 処理中
- エラーまたはしきい値違反の処理中
- 正常の完了
- 内部エラーによる停止
- ユーザーによる中止
- ステータス メッセージ - 処理中、完了、データベースから読み込み中などの、テストの現在の状態を示すテキスト メッセージを示します。
- しきい値違反数 - このロード テストの実行においてレポートされるしきい値違反の総数を表示するリンクを示します。このリンクをクリックすると、データ パネルにしきい値違反テーブルが表示されます。このリンクは、しきい値違反が発生しないと表示されません。
- エラー数 - このロード テストの実行においてレポートされるエラーの総数を表示するリンクを示します。このリンクをクリックすると、データ パネルにしきい値違反テーブルが表示されます。このリンクは、エラーが発生しないと表示されません。
- 残り時間 - 現在実行されているテストの残り時間を表示します。これは、テストが完了すると表示されません。
- テストの進捗 - 現在実行中のテストの完了時間の割合またはロード テストの結果データベースから結果をロードするときの推定の進捗を示します。

図 5. ステータス バー
テストの実行が完了すると、ダイアログ ボックスが表示され、完全なロード テストの結果をデータベースから読み込もうとします。これにより、ビューが実行時の結果から実行後の結果に変わります。テスト完了時に実行時の結果から変更しないことを選択すると、次のリンクがステータス バーに表示されます。実行後の結果に強制的に変えるには、このリンクをクリックします。

図 6. [テストの実行完了] ダイアログ ボックス
このステータス バーは、ロード テストの結果をデータベースからロードするときの進捗を表示するためにも使用されます。

図 7. プログレス ステータス領域
Tab キーを使用してロード テスト モニタおよびロード テスト アナライザのコントロールを順に移動することで、入力フォーカスをステータス バーのリンクに動かすことができます。
3. パフォーマンス カウンタ ペイン
ロード テスト モニタおよびロード テスト アナライザには、ロード テスト中に収集されるすべてのパフォーマンス カウンタの構造化ビューを提供するパフォーマンス カウンタ ペインが含まれています。カウンタは、ツリー構造で構成され、リーフ ノードはグラフ化されるパフォーマンス カウンタ インスタンスを示します。
パフォーマンス カウンタ ペインは、次の機能を提供します。
- ロード テストの実行中に収集されるすべてのパフォーマンス カウンタの構造化ビュー。
- しきい値違反情報のやりとり。
- グラフ化するカウンタの選択。
すべてのパフォーマンス カウンタの構造化ビュー - パフォーマンス カウンタ ツリーには、次の主要な分岐が含まれます。
- 全般 - この分岐には、テスト エージェントごと、およびテスト装置全体のテスト カウンタ サマリー データが含まれます。
図 8. パフォーマンス カウンタの構造化ビュー
- シナリオ名 - パフォーマンス カウンタ ツリーのロード テストのシナリオ名のラベルが付いた分岐には、特定のロード テストのシナリオに関連するすべてのロード テストのカウンタ インスタンスが含まれます。大部分のロード テスト カウンタは、シナリオ分岐内でネストされます。
シナリオ分岐には、テスト ノードが含まれます。テスト ノードには、ページ、要求、およびトランザクション ノードが含まれます。この構造のリーフ ノードは、グラフに追加されるパフォーマンス カウンタです。

図 9. シナリオ名のパフォーマンス カウンタ ツリーの表示 (拡大表示するには画像をクリックします)
- コンピュータ - パフォーマンス カウンタ ツリーのコンピュータ分岐には、コンピュータごとにグループ化される、すべてのロード テスト以外のカウンタ インスタンスが含まれます。コンピュータ分岐には、ロード テストの実行設定のカウンタセット マッピング セクションに指定される各コンピュータのノードが含まれます。各コンピュータ ノードには、そのコンピュータから収集されるパフォーマンス カウンタのカテゴリのセットが含まれます。カテゴリにはカウンタが含まれ、カウンタにはパフォーマンス カウンタのインスタンス名が含まれます。
図 10. パフォーマンス カウンタ ツリーのコンピュータ分岐の表示
しきい値違反のやりとり - しきい値違反は、特定のパフォーマンス カウンタと関連があり、パフォーマンス カウンタが設定されているしきい値を越えているか、または下回っていることを示します。カウンタ ペインのアイコンは、しきい値違反とのやりとりを行います。
しきい値違反のアイコンは、失敗したカウンタが存在するツリー ノードからルートに対して設定され、ツリーが展開されていないためにツリー上で見えなくなっている場合があるカウンタの違反にユーザーが気付くようにします。
アイコンは次のいずれかとなります。
しきい値違反なし
最後の期間に重大なしきい値違反の発生
以前の期間に重大なしきい値違反の発生
最後の期間に警告しきい値違反の発生
以前の期間に警告しきい値違反の発生
任意で、しきい値違反をグラフに表示することもできます。しきい値アイコンは、グラフのしきい値違反が発生したデータ ポイントの隣に表示されます。

図 11. しきい値違反

図 12. しきい値データ ポイントを示すグラフ
これらの図は、プロセス時間の割合に対する警告しきい値違反を、カウンタ ペインおよびグラフの両方について示します。違反が発生したときの、カウンタ ペインのルート ノードへのアイコン表示のされ方に注意してください。
グラフ化するカウンタの選択 - グラフにするパフォーマンス カウンタは、カウンタ ペインから選択されます。パフォーマンス カウンタは、次の仕組みのいずれかを使用してグラフ化されます。
- コンテキスト メニューから [グラフへ追加] を選択します。
- ツリーのノードをダブルクリックします。
- ツリーからノードをドラッグし、それをグラフ上でドロップします。
1 つのパフォーマンス カウンタをグラフ化するには、ツリーのリーフ ノードを選択します。こうすることで、グラフを作成したいパフォーマンス カウンタを一意に識別します。関連するパフォーマンス カウンタのグループをグラフ化するには、コンテキスト メニューのオプションを選択するか、リーフ ノードではないノードからドラッグします。選択されたノードのすべての子ノードがグラフに追加されます。
また、[凡例に追加] コマンドを使用するか、カウンタをグラフの凡例上にドラッグすることで、凡例には表示されるがグラフに表示されないパフォーマンス カウンタを選択することもできます。これにより、グラフの傾向線を表示せずに最小、最大、平均の統計値を表示することができます。グラフの傾向線を表示するには、凡例のチェック ボックスを使用します。
注意 ロード テスト モニタは、すべてのカウンタのパフォーマンス データをメモリ内で管理するため、ロード テスト アナライザでは利用できない "ゴースト プロット" 機能が用意されています。"ゴースト プロット" 機能は、マウスがカウンタ ペインのリーフ ノード上を移動するときに、パフォーマンス カウンタの一時的な座標を現在のグラフに示します。このプロットは、マウスがノードから離れると消えます。この機能により、グラフに追加したい、注意を引くカウンタがあるかどうかを決定するために、カウンタをすばやく表示することができます。グラフに追加したい、注意を引くカウンタを特定するときは、ノードを単にダブルクリックするか、カウンタをグラフに追加することができる別のオプションのいずれかを使用します。
4. サマリー ペイン
サマリー ペインにより、コントローラ名およびサンプリング率に加えて要求およびテスト統計全体をすばやく参照することができます。メイン ツール バーの [サマリー パネルの表示] トグル ボタンを使用することで、サマリー ペインを削除することができます。

図 13. サマリー ペイン
データ ペイン
データ ペインは通常、ロード テスト モニタまたはロード テスト アナライザの画面の大部分を占め、ステータス バーの下、カウンタ ペインの右側に表示されます。これは、分析のためにデータを表示する領域です。データは、グラフ ビューまたはテーブル ビューの 2 種類のビューのいずれかで表示されます。メイン ツールバーの [グラフ] および [テーブル] ボタンを使用して、ビューを切り替えます。
5. グラフ ビュー: グラフ ツール バー

図 14. グラフ ツール バー
グラフ ツール バーは、グラフ ビューの場合にデータ ペインの上部に埋め込まれ、次の処理を行うことができるようにします。
- 利用可能なグラフからグラフを選択します。
- 利用可能なグラフからグラフを追加または削除します。
- 次の設定を含むグラフ化オプションを設定します。
- プロット ポイント グリッドの表示または非表示。
- グラフの凡例の表示または非表示。
- 実行全体からのデータまたは最近のデータのグラフ化。
- 水平グリッド線の表示。
- 最小/最大線の表示。
- グラフのしきい値違反の表示。
グラフ ツール バーで利用可能なすべてのコマンドは、グラフ ビューに関連するコンテキスト メニューからも利用可能です。
グラフの選択
ロード テスト モニタおよびロード テスト アナライザに複数のグラフを存在させ、各グラフが表示するカウンタのセットを表すことができますが、一度に表示されるグラフは 1 つのみです。[グラフ選択] ドロップダウン リスト ボックスにより、表示するグラフを選択することができます。
ロード テスト モニタおよびロード テスト アナライザでは [既定] グラフが常に規定されており、削除することはできません。ロード テストがテスト装置で実行されている場合、装置のコントローラおよびエージェントごとに追加のグラフが存在します。グラフ名には、エージェントの名前またはコントローラ コンピュータの名前が設定されます。既定では、エージェントおよびコントローラのグラフには、CPU、メモリ、およびネットワーク カウンタが表示されます。
グラフの追加または削除
自動的に作成されるグラフに加えて、グラフ ツール バーの [追加] ボタンをクリックすることで、新しいグラフを作成または削除することができます。カウンタなしの新しいグラフが作成されます。新しいグラフの名前は、"グラフ n" となり、n には連番がつけられ、この番号が増加します。これらのグラフの名前を変更することはできません。
"既定の" グラフ以外のグラフは、グラフ ツール バーの [削除] ボタンをクリックすることで、グラフ一覧から削除することができます。
グラフ オプション
[グラフ オプション] ドロップダウン リスト ボックスは、グラフ ビューをカスタマイズするさまざまな方法を提供します。

図 15. グラフ オプション ドロップダウン リスト
- 凡例の表示 - グラフ ビューに関連する凡例ペインを表示または非表示にします。
- プロット ポイントの表示 - グラフ ビューに関連する座標点ペインを表示または非表示にします。
- 実行全体のグラフ データ - 実行全体のデータを表示します。この文書の後に出てくる "圧縮グラフ ビュー" の詳細な説明を参照してください。
- 最近のデータのみのグラフ - 最近の 100 サンプリング間隔のデータを表示します。この文書の後に出てくる "グラフ ビューのスクロール" の詳細な説明を参照してください。
- 水平グリッド線の表示 - グラフに水平グリッド線を表示または非表示にします。
- 最小/最大線の表示 - 折りたたまれたデータ ポイントの最小/最大値を表示します。このオプションのグラフ表示モードの詳細な説明を参照してください。
- グラフのしきい値違反の表示 - しきい値違反に関連するデータ ポイントのしきい値違反ハンドルをグラフに描画します。
グラフ領域上のコンテキスト メニューから利用可能な [グラフ オプション] ダイアログ ボックスから、グラフ ツール バーの全機能にアクセスすることができます。

図 16. [グラフ オプション] ダイアログ ボックス
6. グラフ ビュー: グラフ領域
グラフ領域には、X 軸、Y 軸、およびプロット領域が含まれます。選択されたグラフは、現在のグラフ表示モードで描画されます。利用可能なグラフ表示モードの詳細な説明については、グラフ表示モード セクションを参照してください。
選択されたカウンタは、グラフ領域のプロット線をクリックすることで変更することができます。また、マウスのポインタをグラフ領域のデータ ポイント上またはしきい値違反上に置くと、ポップアップ情報が表示されます。マウスのポインタを線上に置くと、カウンタをグラフから削除するための [削除] コマンドがコンテキスト メニューに現れます。
グラフ領域: クリップボードへのコピー
グラフ領域のコンテキスト メニューで利用可能なものに、[コピー] 操作があります。このコマンドは、グラフおよび凡例のスナップショットを HTML 形式でクリップボードにコピーします。次の画像は、Microsoft Outlook に貼り付けられたグラフのスクリーン ショットです。

図 17. HTML 形式のグラフ スナップショット
7. グラフ ビュー: グラフ ズーム コントロール
ズーム コントロールは、実行後の結果をロード テスト アナライザで表示するときにのみ表示されます。ズーム コントロールの詳細な説明については、グラフ表示モード: ズーム グラフ セクションを参照してください。
ズーム コントロールは、マウスまたは左右矢印キーを使用して調節することができます。矢印キーを使用してズーム コントロールを調節することで、ウィンドウ範囲を一度に 1 サンプリング間隔ずつ調節することができます。Shift キーと矢印キーを使用すると、10 サンプリング間隔ごとの調節を行うことができます。
ズーム コントロールを矢印キーで調節するためには、まず Tab キーを使用してズーム コントロールにフォーカスを設定します。左側のスライダにフォーカスがある場合、矢印キーによって、ズーム ウィンドウの開始境界が 1 間隔ずつ左右いずれかに移動します。中央のスライダにフォーカスがある場合、矢印キーを使用して、ズーム ウィンドウのサイズを変更することなく、ズーム ウィンドウを 1 サンプリング間隔ずつ左右いずれかにスクロールすることができます。そして最後に、右側のスライダが動き、ズーム ウィンドウの端の領域を 1 サンプリング間隔ずつ広げたり狭めたりします。
Tab キーを使用して、フォーカスを左側から中央、そして右側へ動かします。
8. グラフ ビュー: グラフ プロットポイント グリッド
グラフ データ グリッドは、凡例で選択されたカウンタのすべてのデータ ポイントを表示します。カウンタが選択されていないと、データ グリッドは空です。
グラフ ツール バーの [プロット ポイントの表示] オプションを切り替えることで、データ グリッドを非表示にすることができます。データ グリッドの内容は、テキストとしてクリップボードにコピーすることができます。
9. グラフ ビュー: グラフの凡例
グラフの凡例は、グラフに関連する各カウンタの情報を表示します。次の情報が、凡例に含まれます。

図 18. グラフの凡例
- グラフに表示 - このチェック ボックスを使用し、線がグラフに描画されるかどうかを制御します。チェック ボックスをオフにすると、カウンタの統計は凡例に表示されたままですが、プロット線はグラフから削除されます。チェック ボックスをオンにすると、線がグラフに記されます。
- 範囲 - この列には、カウンタの Y 軸範囲が表示されます。既定では、この値は、サンプル データの変更の範囲に従って自動的に調整されます。自動的に調整される範囲は、常に [最大] の値より大きい 10 の次の累乗となります (10 の負の累乗を含む)。グラフには、さまざまなカウンタが含まれ、各カウンタには異なる範囲があります。そのため、Y 軸が特定の範囲に分類されていませんが、その代わりに各カウンタの総範囲のパーセントを示す、0 から 100 の間の値に分類されています。たとえば、範囲が 1,000 のカウンタの場合、Y 軸のデータ ポイント 60 は、カウンタでは 600 という値に対応します。
以前に述べたように、範囲はサンプル データの変更に従って自動的に調整され、すべてのデータ ポイントがグラフに表示されるようにします。また、この機能を無効にし、特定の値に範囲をロックするオプションもあります。範囲がロックされると、この範囲を超える値はグラフの最大部にあるものとして表示されます。上記の図で、プロセス時間の割合カウンタの範囲は 100 にロックされています。[プロット オプション] ダイアログ ボックス (凡例のコンテキスト メニューから利用可能) を使用し、範囲を特定の値にロックします。
- カウンタ - [カウンタ]、[インスタンス]、[カテゴリ]、および [コンピュータ] の 4 つの列により、パフォーマンス カウンタを一意に特定します。
- 色 - [色] 列には、パフォーマンス カウンタの描画される線の色と線種が表示されます。[プロット オプション] ダイアログ ボックスを使用し、グラフ上のパフォーマンス カウンタの色または線種を変更します。[プロット オプション] ダイアログ ボックスは、凡例のコンテキスト メニューから利用可能です。
- 統計 - [最小]、[最大]、[平均]、および [最近] 列により、パフォーマンス カウンタのそれぞれの統計を示します。これらの値は、グラフの表示されている部分に表示されるデータに対応しています。たとえば、ある実行の部分にズームインすると、凡例の統計には、そのズームされた領域についてのみ値が反映されます。[最近] 列は、直近に完了したサンプリング間隔のパフォーマンス カウンタの値です。
凡例の項目を選択し、次の処理を行います。
- 凡例 (およびグラフ) からその項目を削除することができます。Delete キーを押すか、コンテキスト メニューの [削除] を選択し、この項目を削除します。
- 描画された線をグラフで強調表示します。
- 選択された項目のデータをデータ グリッドに表示させます。
- このカウンタの [プロット オプション] ダイアログ ボックスにアクセスすることができます。
[プロット オプション] ダイアログ ボックス
[プロット オプション] ダイアログ ボックスを使用し、描画されるカウンタの色および線種を変更することができます。このダイアログ ボックスでは、特定の値で範囲を固定したり、採取したデータに基づいて範囲を自動的に調整するよう設定したりすることもできます。

図 19. [プロット オプション] ダイアログ ボックス
グラフ表示モード
ロード テスト モニタのグラフは、3 つのモードのいずれかで表示されます。
圧縮モードとスクロール モードは、実行時のロード テストの結果を表示時に利用可能です。実行時のロード テストの既定のグラフ モードは、圧縮モードです。
グラフのズーム モードは、完了したロード テストの結果を表示時にのみ利用可能であり、完了したロード テストの結果を表示するときに利用可能な唯一のグラフ モードです。
各グラフ表示モードの詳細は、次のセクションに記述されます。
グラフ表示モードの変更
グラフ ツール バーの [オプション] メニューを使用し、圧縮モードとスクロール モードの切り替えを行います。圧縮モードの場合は [実行全体のグラフ データ] を選択します。または、スクロール モードの場合は [最近のデータのみをグラフ化] を選択します。

図 20. 実行時のロード テストについて、圧縮モードまたはスクロール モードの選択 (拡大表示するには画像をクリックします)
グラフのズーム モードは、完了したロード テストの結果をデータベースから表示するときに使用します。グラフのズーム モードでは、実行全体のデータ サンプルが利用可能になります。ズーム コントロールを使用してグラフに表示する時間範囲を選択します。

図 21. ズーム モードでは、圧縮とスクロール モードは無効となります (拡大表示するには画像をクリックします)

図 22. グラフのズーム モードでは、ズーム スライダが表示されます (拡大表示するには画像をクリックします)
圧縮モード
圧縮グラフは、実行の実行時に使用され、実行期間全体のパフォーマンス カウンタについて傾向を表示しながら、メモリで管理される必要があるデータ量を削減します。圧縮により実行中は、データがメモリから削除されますが、ロード テスト中に収集されるすべてのデータ サンプルは、ロード テスト データベースに格納され、グラフのズーム モードによって実行終了後もアクセス可能です。
圧縮グラフにより、1 つのパフォーマンス カウンタにつき、データ ポイントは 100 個まで表示されます。圧縮グラフの X 軸は、00:00 が基点となり、テスト実行全体を含む範囲となります。

図 23. 圧縮モードでの X 軸の範囲は、ロード テスト期間全体にわたります (拡大表示するには画像をクリックします)
あるカウンタについて収集されたデータ ポイント数が 100 を超えると、一連のデータからサンプルを間引いて削除し、削除されたサンプルに隣り合うデータ ポイントを再度計算することで、グラフが圧縮されます。サンプリング間隔が 5 秒の場合、最初の圧縮が行われるのはテストを始めてから 500 秒後になります。
5 秒間隔のデータ ポイントを表示するパフォーマンス カウンタを示す、次のグラフについて考えます。これは、圧縮前のグラフ表示です。00:05 時点での値は 16.8 で、00:10 時点での値は 11.1 です。

図 24. 最初の圧縮が発生する前
これは、同じグラフのデータの圧縮発生後の表示です。現在データ ポイントの間隔は 10 秒で、削除されたデータ ポイントの平均を算出することで、新しい値に変わっていることに注意してください (たとえば、00:10 時点での値は、13.9 になっています)。

図 25. 最初の圧縮発生後
圧縮操作により、一連の 100 サンプルから、20 サンプルが削除されます。最初の圧縮により一連のデータから最初の 20 データ ポイント、2 番目の圧縮により次の 20 データ ポイント、のように間引いて削除されます。一連のデータの最後に到達すると、一連のデータの最初に折り返して圧縮が行われます。こうすることで、グラフの左側にあるデータ ポイントが、グラフの右側にあるデータ ポイントよりさらに間隔をあけて表示されるグラフが表示されます。上記の図 23 は、左側のデータ ポイントが 20 秒間隔で表示され、左側のデータ ポイントが 10 秒間隔で表示される状態を示しています。このテストのサンプリング率は 5 秒ですが、テストを実行すると圧縮により間隔が広がります。
実行中に圧縮されたデータは、実行が完了し、データベースから結果全体を読み込むことで取得することができます (グラフのズーム モードを参照)。
スクロール モード
スクロール グラフは、実行の実行時の表示オプションで、最近のデータ ポイントを表示します。スクロール グラフを使用し、テストにおける最近の 100 データ間隔のみを表示します。
スクロール モードでは、最近の 100 サンプリング間隔がグラフに表示されるように、グラフの X 軸の基点はテストの進行に従い前方にスクロールします。100 データ ポイントの制限に到達すると、グラフは自動的に 10 サンプリング間隔分前方にスクロールします。

図 26. データ ポイントが 5 秒間隔のスクロール グラフ (拡大表示するには画像をクリックします)
圧縮グラフの X 軸の範囲は常に増加することと比べて、スクロール グラフの X 軸の範囲は、100 回のサンプリング間隔で固定されます。圧縮グラフではテストの進行に従い更新間隔 (複数更新間隔) が広がることと比べて、スクロール グラフの更新はサンプリング間隔で固定されています。図 26 のスクロール グラフと、図 23 の圧縮グラフを比較してください。
ズーム モード
グラフのズーム モードは、ロード テストの結果データベースから読み込まれる、完了したテストの結果を表示するときに使用します。
ロード テストの結果データベースには、ロード テスト中に収集されたデータ ポイントのすべてが含まれます。通常のロード テストでは、ロード テストの実行全体のサンプリング間隔が数千にものぼる場合があります。
ズーム グラフは、データ ポイントを 100 まで表示します。グラフの範囲が 100 サンプリング間隔を超えると、圧縮グラフと同じ方法でサンプル数を削減するために、その範囲からサンプルを間引いて削除します。ただし、圧縮グラフとは異なり、削除されたサンプルはメモリから削除されず、さらに短い期間にズームインすることで表示することが可能です。ズーム範囲が 100 サンプリング間隔より少ない場合、100 データ ポイントの制限に達するまでサンプリング間隔は削除されません。
ズーム グラフは常に実行全体にわたるズーム範囲で始まります。ズーム コントロールを調整すると、グラフに表示される範囲が変わります。

図 27. ズーム グラフはまず実行全体を含みます

図 28. さらに小さい範囲にズームインします (拡大表示するには画像をクリックします)
ズームされたグラフの凡例は、常にズームされた期間の値を表示します。つまり、ズーム範囲が変わると、[最小]、[最大]、および [平均] の値が変わります。最小値と最大値は、グラフに表示される高水位線と低水位線に対応します。そのため、最小値と最大値のサンプルが圧縮操作で削除されても、[最小] および [最大] 列は、その期間のすべてのサンプルの最大値と最小値を反映します。圧縮により一連のデータから省かれて、グラフにそのデータ ポイントが表示されていない場合でもです。
ズーム グラフの最小/最大線
圧縮により一連のデータから省かれたサンプルの最小値と最大値を表示するために、ズーム グラフで [最小/最大線の表示] オプションを使用することができます。圧縮操作により、複数のサンプルが長期間にわたって平均化されるため、グラフでパフォーマンスが突出している部分が滑らかになっている場合があります。[最小/最大線の表示] を使用することで、圧縮操作によりグラフ内の突出が滑らかになっていても、パフォーマンスが突出している箇所を示すことができます。

図 29. 最小/最大線の表示 (拡大表示するには画像をクリックします)
次のスクリーン ショットの順に、パフォーマンスの突出箇所を示すための [最小/最大線の表示] オプションの使用方法と、詳細を明らかにするズームについて説明します。
最初のスクリーン ショットは、1 時間の実行全体について描画された 1 つのパフォーマンス カウンタを示します。サンプル率は 5 秒で、1 時間実行することにより 720 のサンプルが発生します。620 のサンプルが圧縮により省かれて、短期間のパフォーマンスの突出箇所は滑らかになっている可能性があります。

図 30. 最小/最大線を表示しないパフォーマンス カウンタの描画 (拡大表示するには画像をクリックします)
次のスクリーン ショットでは、[最小/最大線の表示] オプションが有効で、すべての圧縮データ ポイントの最小値と最大値が表示されます。選択された項目についてのみ、最小値と最大値の線が描画されていることに注意してください。このスクリーン ショットでは、テストの 00:20 付近のポイントで小さい突出があることに注意してください。

図 31. 最小/最大線を表示するパフォーマンス カウンタの描画 (拡大表示するには画像をクリックします)
次のスクリーン ショットは、グラフで圧縮された突出箇所の 1 つを含むズーム範囲のドラッグ選択を示します。この選択を行うと、グラフは選択された範囲にズームインします。

図 32. 最小/最大線とドラッグ選択を表示するパフォーマンス カウンタの描画
最後のスクリーン ショットは、グラフ上でドラッグ選択を行った結果を示します。選択された範囲は、圧縮が発生しない程度に小さくなっています。

図 33. ドラッグ選択パフォーマンス カウンタの描画 (拡大表示するには画像をクリックします)
圧縮せずに実行全体のデータの表示
ズーム範囲が 100 サンプリング間隔以下である場合、データの圧縮は発生しません。圧縮が発生しない程度に小さいズーム範囲を選択すると、ズーム コントロールのスクロール バー (コントロールの中央部) を使用し、すべての圧縮されていないデータをスクロールすることができます。
テーブル ビュー
ロード テストのパフォーマンス カウンタは、テーブル形式で表示できます。テーブル ビューを選択すると、グラフ ビューから切り替わります。次のテーブルが、テーブル ビューに表示されます。
- エージェント
- エラー
- ページ (実行後の結果の表示では、追加の統計が利用可能です)
- 要求
- SQL トレース (実行後の結果を表示するときのみ利用可能です)
- しきい値
- トランザクション
一度に 1 テーブルを表示することができます。テーブルは、データ ウィンドウに埋め込まれているドロップダウン リスト ボックスから選択します。

図 34. テーブル ビュー
テーブルに表示される数値は、実行全体のパフォーマンス カウンタについて累積した値です (最近のサンプリング間隔の値を示す [最近] 列を除いて)。
[ページ] テーブル
ロード テストの実行設定には、[時刻ごとの詳細の格納] というプロパティが含まれており、[統計のみ] または [個々の詳細すべて] のいずれかが設定されます。これらの値のいずれかを選択することで、あるサンプリング間隔のページ実行回数の標準平均に加えて、ロード テストがすべてのページの実行結果を格納するようになります。既定では、詳細ページ情報は収集されません。
個々のページ統計が収集される場合、実行後の結果の [ページ] テーブルには、ネットワークのエミュレーションに基づきグループに分けられたパーセントのデータ、およびページ応答時間といった列が追加で含められます。

図 35. ページについて示すテーブル ビュー
[SQL トレース] テーブル
[SQL トレース] テーブルは、SQL トレースがロード テストの実行設定で有効になっている場合に、実行後の結果でのみ表示されます。
列の追加または削除
既定では、すべてのカウンタが利用可能でも、利用可能な列のサブセットが表示されます。[列の追加または削除] ダイアログ ボックスを使用し、特定のページに表示する列のセットを選択します。[列の追加または削除] ダイアログ ボックスは、テーブルのコンテキスト メニューから利用可能です。

図 36. [列の追加または削除] ダイアログ ボックス
エラーのリンクと [エラー] テーブル
エラー数を示す列が、リンクとして表示される場合があります。エラー情報をさらに確認するために、エラーのリンクをクリックします。すると、選択されたカウンタに関連するすべてのエラーについて、[エラー] ダイアログ ボックス (後述) が起動されます。エラーのドリル ダウンは、次のテーブルに表示されます。
- 要求 - [失敗した要求] のエラー リンクをクリックすると、特定の要求に関連するすべてのエラーについて、[エラー] ダイアログ ボックスが起動されます。
- テスト - [失敗したテスト] のエラー リンクをクリックすると、特定のテストに関連するすべてのエラーについて、[エラー] ダイアログ ボックスが起動されます。
- エラー - [エラー数] のエラー リンクをクリックすると、特定のエラー タイプまたはエラー サブタイプに関連するすべてのエラーについて、[エラー] ダイアログ ボックスが起動されます。
ロード テストで発生するすべてのエラーを確認するには、[エラー] テーブルの [すべてのエラー] リンクをクリックします。

図 37. エラーについて示すテーブル ビュー
エラー ダイアログ
- エラー ダイアログ ボックスは、あるパフォーマンス カウンタに関するエラーのドリル ダウンに応じて、エラー情報を表示します。このダイアログ ボックスには、ロード テストにより収集される一般的なエラー情報が 1 エラー 1 行で表示されます。

図 38. [ロード テスト エラー] ダイアログ ボックス (拡大表示するには画像をクリックします)
エラーに追加で詳細または関連するスタックのトレースが含まれている場合は、エラーの [スタック] または [詳細] 列に追加のドリル ダウン リンクが表示されます。これらのリンクのいずれかをクリックし、追加情報を含む別のダイアログを表示します。
[エラー詳細] ダイアログ ボックス
エラーの詳細は、Web 要求についてのロード テストにより収集されます。エラー詳細には、完全な HTTP 要求、完全な HTTP 応答、テスト コンテキスト、およびその要求のルール検証/抽出ルール要求が含まれます。エラー詳細は、データベース空間を多く使用するため、エラー詳細数は、特定の数に制限されます。ロード テストの実行設定の [エラー詳細最大数] は、収集されるエラー詳細数を制御します。
[エラー詳細] ダイアログ ボックスは、1 つの Web 要求の結果を表示します。情報は、Web テストの結果と同じビューアに表示されます。ただし、エラー詳細には、依存要求情報または上位レベルの要求の結果は含まれません。次のスクリーン ショットで画像アイコンが正しく表示されていないことに注意してください。これは、依存要求情報が共有されていないために発生します。

図 39. サンプルの [エラー詳細] ページ (拡大表示するには画像をクリックします)
まとめ
Visual Studio Team Edition for Software Testers の機能を使用することで、テスト結果がビューアに読み込まれ、ユーザーはボトルネックの位置を示し、エラーを特定し、アプリケーションにおける改善点を評価することができます。この記事は、Visual Studio Team Edition for Software Testers で利用可能なロード テストの分析機能に重点を置いて説明しています。ロード テストを作成および分析する計画および技法については、本文書の範囲を超えていますが別の記事で扱います。