ロード パターンを編集して仮想ユーザー アクティビティをモデル化
ロード パターン プロパティは、ロード テスト中に、シミュレートされたユーザー ロードを調整する方法を指定します。Visual Studio Ultimate には、持続、ステップ、およびゴール志向の 3 つの組み込みのロード パターンが用意されています。ロード パターンを選択し、ロード テストの目的に適したレベルにプロパティを調整します。
ロード パターンはシナリオのコンポーネントです。定義されたロード パターンを持つシナリオによって、ロード テストが構成されます。
[!メモ]
すべてのロード パターンでは、Team Test が生成するロードは、仮想ユーザーによってシミュレートされるロードです。
要件
- Visual Studio Ultimate
ロード パターン
定数
持続ロード パターンは、ロード テスト中に変化しないユーザー ロードを指定するために使用されます。たとえば、Web アプリケーションでスモーク テストを実行する場合、軽い、10 ユーザーの持続したロードを設定します。
持続ロード パターンに関する考慮事項
持続ロード パターンは、ロード テストの実行中に同じユーザー ロードを実行するために使用されます。ユーザー数の多い持続ロード パターンを使用すると、ロード テストの開始時にサーバーに対して不適切で現実的ではない確認要求が行われる場合があるので、注意が必要です。たとえば、ロード テストにホーム ページへの要求から始まる Web テストがあり、ロード テストの持続ロードを 1,000 ユーザーに設定すると、ロード テストでは最初の 1,000 の要求をできるだけ速くホーム ページに送信します。これは、Web サイトへの実際のアクセスのシミュレーションとして現実的ではない場合があります。これを緩和するには、徐々に 1,000 ユーザーまで増加するステップ ロード パターンの使用を検討するか、ロード テストの実行設定でウォームアップ期間を指定します。ウォームアップ期間を指定すると、ロード テストではウォームアップ期間中に負荷が徐々に自動的に増加されます。詳細については、「シナリオの開始遅延の設定」を参照してください。
手順
ステップ ロード パターンは、定義された最大ユーザー ロードまで、時間と共に増加するユーザー ロードを指定するために使用されます。ステップ ロードの場合、[初期のユーザー カウント]、[最大ユーザー カウント]、[ステップ継続時間 (秒)]、および [ユーザー カウントのステップ] を指定します。
たとえば、[初期のユーザー カウント] に 1、[最大ユーザー カウント] に 100、[ステップ継続時間 (秒)] に 10、[ユーザー カウントのステップ] に 1 を設定したステップ ロードの場合、1 で開始し、100 ユーザーになるまで、10 秒ごとに 1 増えるユーザー ロード パターンが作成されます。
[!メモ]
合計テスト期間が、最大ユーザー ロードまで増大するために必要な時間よりも短い場合、テストは経過期間の後で停止し、[最大ユーザー カウント] のターゲットまでは達しません。
ステップの目標を使用すると、サーバーのパフォーマンスが急激に低下する点までロードを増やすことができます。ロードを増やし続けると、いずれはサーバーがリソース不足の状態になります。ステップ ロードは、この現象が発生するユーザー数を決定するために適した方法です。ステップ ロードの場合、エージェントで目的のロードを生成できることを確認するために、エージェント リソースを注意深く監視する必要もあります。
指定したロードに対する適切な測定値を得るには、通常、異なるステップ実行間隔とステップごとのユーザー カウントを指定して実行を何回か試行する必要があります。各ステップでユーザーが追加されると、多くの場合、ロードの初期スパイクが発生します。ロードをそのレートに保つと、システムが初期スパイクから回復した後で、システム パフォーマンスを計測できます。
ステップ ロード パターンに関する考慮事項
ステップ ロード パターンは、ロード テストの実行中にサーバーの負荷を増加するために使用できます。これにより、ユーザー ロードが増加するにつれてパフォーマンスがどのように変化するかを確認できます。たとえば、ユーザー ロードが 2,000 人に増加したときにサーバーがどのように動作するかを確認するには、次のプロパティが設定されたステップ ロード パターンを使用して 10 時間のロード テストを実行します。
初期のユーザー カウント: 100
最大ユーザー カウント: 2000
ステップ実行間隔 (秒): 1800
ステップごとの傾斜増加時間 (秒): 20
ステップごとのユーザー カウント: 100
これらの設定では、100 人、200 人、300 人をはじめ、2,000 人までのユーザー ロードで、30 分 (1,800 秒) のロード テストを実行します。これらのプロパティの中で "ステップごとの傾斜増加時間" プロパティは、新しいロード テスト ウィザードで選択できない唯一のプロパティです。"ステップごとの傾斜増加時間" プロパティでは、1 つのステップから次のステップ (100 人から 200 人への増加など) へ突然増加するのではなく、徐々に増加することができます。例では、ユーザー ロードは、20 秒で 100 人から 200 人のユーザーに増加します (毎秒 5 人の増加)。詳細については、「方法: ステップ ロード パターンの "ステップごとの傾斜増加時間" プロパティを指定する」を参照してください。
ゴール志向
ゴール志向ロード パターンは、ステップ パターンに似ていますが、定期的なユーザー ロードの調整とは異なり、パフォーマンス カウンターのしきい値に基づいてユーザー ロードを調整します。ゴール志向のロードは、さまざまな目的で役立ちます。
エージェントからの出力を最大化する。エージェントの出力を最大化するために、エージェントの主要な制限メトリックを測定します。通常は CPU ですが、メモリが原因の場合もあります。
対象のサーバーで、通常は CPU が対象のリソース レベルに到達したときに、そのレベルでのスループットを計測する。これにより、サーバーのリソース利用状況を一定のレベルに保った状態で、スループットの実行ごとの比較を行うことができます。
サーバーで対象のスループット レベルに到達する。
次の表に、以下のようなプロパティが設定されたゴール志向パターンの一例を示します。
プロパティ グループ |
プロパティ |
値 |
---|---|---|
[パフォーマンス カウンター] |
[カテゴリ] |
プロセッサ |
[パフォーマンス カウンター] |
Computer |
ContosoServer1 |
[パフォーマンス カウンター] |
カウンター |
% Processor Time |
[パフォーマンス カウンター] |
インスタンス |
_Total |
[パフォーマンス カウンターの対象範囲] |
[最大値] |
90 |
[パフォーマンス カウンターの対象範囲] |
[最小値] |
70 |
[ユーザー カウントの制限] |
[初期のユーザー カウント] |
1 |
[ユーザー カウントの制限] |
[最大ユーザー カウント] |
100 |
[ユーザー カウントの制限] |
[最大ユーザー カウントの減少] |
5 |
[ユーザー カウントの制限] |
[最大ユーザー カウントの増加] |
5 |
[ユーザー カウントの制限] |
[最小ユーザーカウント] |
1 |
これらの設定では、ロード テスト アナライザーは、WebServer01 の [% Processor Time] の [カウンター] が、70% ~ 90% の間になるように、テストの実行中にユーザー ロードを 1 ~ 100 の間で調整します。
それぞれのユーザー ロード調整のサイズは、[最大ユーザー カウントの増加] および [最大ユーザー カウントの減少] の設定に従って決定されます。ユーザー数の制限は、[最大ユーザー カウント] プロパティおよび [最小ユーザー カウント] プロパティで設定されます。
ゴール志向ロード パターンに関する考慮事項
ゴール志向ロード パターンは、リソース使用量があるレベルに達するまでにシステムでサポートできるユーザー数を決定する場合に便利です。このオプションは、システムで制限されているリソース (つまり、ボトルネック) が既に特定されている場合に最適です。
たとえば、システムで制限されているリソースがデータベース サーバーの CPU であることがわかっており、データベース サーバーの CPU が約 75% ビジー状態になったときにサポートできるユーザー数を確認するとします。この場合は、パフォーマンス カウンターの [%Processor Time] の値を 70 ~ 80% に維持するゴール志向ロード パターンを使用できます。
他の複数のリソースがシステムのスループットを制限している場合は、注意が必要です。そのようなリソースがあると、ゴール志向ロード パターンで指定されたゴールに達しない場合があります。また、ユーザー ロードは、[最大ユーザー カウント] に指定された値に達するまで増加し続けます。通常、これは目的のロードではないため、ゴール志向ロード パターンでのパフォーマンス カウンターの選択には注意が必要です。
タスク
タスク |
関連するトピック |
---|---|
ロード テストの初期ロード パターンを指定する: 新しいロード テスト ウィザードを使用してロード テストを作成するときに、ロード パターンを選択します。 |
|
ロード テストのロード パターンを編集する: ロード テスト ウィザードでロード テストを作成した後で、ロード テスト エディターを使用してロード パターンを編集できます。 |
|
ロード テスト シナリオの仮想ユーザーに Web キャッシュ データを含めるかどうかを指定する:"新しいユーザーのパーセンテージ" プロパティを変更できます。このプロパティの変更によって、仮想ユーザーの Web ブラウザーで実行される Web キャッシュをロード テストでシミュレートする方法が影響を受けます。 |
|
ステップ ロード パターンのステップごとの傾斜増加時間を指定する:"ステップごとの傾斜増加時間" プロパティを使用すると、1 つのステップから次のステップ (100 人から 200 人への増加など) へ突然増加するのではなく、徐々に増加することができます。 |
ロード パターンの変更
最初に、新しいロード テスト ウィザードを使用してロード テストを作成した後で、ロード テスト エディターを使用し、シナリオに関連付けられたロード パターン プロパティをテストの目標にあったレベルに変更します。
[!メモ]
ロード テスト シナリオの各プロパティとその説明の一覧については、「ロード テスト シナリオのプロパティ」を参照してください。
ロード パターンは、ロード テスト中にアクティブである仮想ユーザーの数、および新しいユーザーが追加される割合を指定します。ステップ パターン、持続、およびゴール志向という使用可能な 3 つのパターンから選択できます。詳細については、「ロード パターンを編集して仮想ユーザー アクティビティをモデル化」を参照してください。
[!メモ]
また、ロード テスト プラグインを使用すると、ロード プロパティをプログラムによって変更できます。詳細については、「方法 : ロード テスト プラグインを作成する」を参照してください。
ロード パターンを変更するには
ロード テストを開きます。
**[ロード テスト エディター]**に、シナリオのフォルダーで、ロード パターンを編集し、シナリオのロード パターンを選択するシナリオを展開します。
[!メモ]
ロード テストのシナリオ ツリーに表示されるロード パターン ノードは、ロード テストを作成したときに選択したロード プロファイルを反映しています。持続ロード プロファイルまたはステップ ロード プロファイルのいずれかになります。
F4 キーを押して [プロパティ] ウィンドウを表示します。
[プロパティ] ウィンドウに [ロード パターン] カテゴリおよび [パラメーター] カテゴリが表示されます。
(省略可能) [ロード パターン] カテゴリで [パターン] プロパティを変更します。
[パターン] プロパティでは [ステップ]、[持続]、および [ゴール志向] から選択できます。ロード パターンの種類の詳細については、「ロード パターンを編集して仮想ユーザー アクティビティをモデル化」を参照してください。
(省略可能) [パラメーター] カテゴリで値を変更します。
[!メモ]
[パラメーター] で設定できる値は、[パターン] プロパティで選択した値によって異なります。
プロパティを変更が終わったら [ファイル] のメニューの 上書き保存 を選択します。新しいロード パターンでロード テストを実行できるようになります。
外部リソース
ガイダンス
Visual Studio 2012 – の章の 6 番目の一連の配信のためのテスト: ツールボックスのテスト
参照
処理手順
方法: Web キャッシュ データを使用する仮想ユーザーの割合を指定する
方法: ステップ ロード パターンの "ステップごとの傾斜増加時間" プロパティを指定する
その他の技術情報
ロード テスト エディターを使用したロード テスト シナリオの編集
Step 2.1 - Choosing a Load Pattern in the New Load Test Wizard