ステージを設定することにより、実世界での使用法を反映するように一定のタスクを実行するユーザーの数を変更しながら、長期にわたるワークロードをモデリングできます。
ユーザー・ロードに変化をつけて、ステージごとのパフォーマンス・メトリックを独立して収集でき、従来は何度も実行しなければできなかったことが一度の実行でより効率的にでき、何度も無用にシャットダウンしてユーザーを再始動させる必要がなくなりました。
各ステージは特定の時間継続し、特定数のユーザーを含んでおり、異なった負荷を定義できます。
このタスクについて
スケジュールに複数のステージがある場合は、次の図に示すように、スケジュールのテストを無限ループに入れます。このようにすると、仮想ユーザーは割り振られた時間の前にステージを終了できません。
手順
スケジュールにステージを追加するには、次のようにします。
- テスト・ナビゲーターで、スケジュールをブラウズし、ダブルクリックします。 スケジュールが開きます。デフォルトでは、「ユーザー・ロード」ページにユーザーが 5 件のステージが 1 つ表示されます。この 5 件のユーザーは、終了まで実行します。
- 「ユーザー・ロード」ページで「追加」をクリックします。 「ユーザー・ステージの作成」ウィンドウが開きます。スケジュール・ステージの情報を入力して、「OK」をクリックします。
オプション |
説明 |
ユーザー数 |
ステージに含まれるユーザーの合計数を入力します。これは、追加するユーザー数でも、現在実行中のユーザーから除去するユーザー数でもなく、このステージでアクティブなユーザーの合計数です。 |
ステージ期間 |
ステージが実行する時間の長さ (および時間単位) を入力します。「ユーザー数」に到達すると、ユーザーはこの時間になるまで実行します。
時間が来ると、ユーザーが次のステージで必要とされる場合にのみ実行が継続されます。そうでない場合は、正常終了します。 |
変更の頻度 |
ユーザーの数を変更するときに、あるユーザーを追加または除去してから次のユーザーに移るまでの、遅延の時間の長さ。
すべてのユーザーを一定期間に渡って追加または除去すると、ユーザー変更に指定された時間全体の中でこれらユーザーが均一かつランダムに分散し直されますが、この時間とは、解決前で、ステージが開始する前の時間です。
このわずかな差異が、人間の動作を正確にエミュレートします。
すべての時間単位に 1 件のユーザーを追加または除去すると、各ユーザーに同じ遅延が追加されます。
このオプションは最初のオプションほど正確に人間の動作をエミュレートするものではありませんが、ユーザーがシステムにログオンする時間など、テスト中のシステムの制限により一定の速度を守らなければならない場合には便利です。
|
解決時間 |
所定のユーザー人数に到達しても、システムはこのユーザー人数の変更に反応して、一定期間不安定になることがあります。
解決時間を設定すると、システムが定常状態の平衡状態を再確立でき、ユーザーの人数を正確に反映することができます。
解決時間が切れると「ステージ期間」が開始します。
解決時間は厳密な意味でのステージ期間の一部としてはカウントされず、実行終了時に生成される比較レポートに含まれる解決時間のメトリックとしてもカウントされません。
ただし、解決時間は各ステージの始めに時間を追加するものであるため、スケジュールを実行する時間の長さに影響します。
さらに、比較レポートには解決時間のメトリックが含まれませんが、これらのメトリックは収集されます。レポートの時刻範囲を変更することにより、これをレポートに含めることができます。
システムに重大な不安定状態がないか、ステージが長く、不安定状態がそのうちのわずかに過ぎない場合は、解決時間が必要ない場合もあります。
|
- 「ユーザー・ロード」ページで、必要に応じてステージを変更します。
- 「上へ」または「下へ」をクリックして、行の順序を変更します。
- 行をダブルクリックして変更します。
- 「停止要求へのユーザー応答の制限時間」の値を選択します。 あるステージの仮想ユーザーが先行するステージの仮想ユーザーよりも少ない場合、余分のユーザーは停止を要求されます。
この値は、停止させられた仮想ユーザーが、現在のアクション (HTTP 要求など) を完了するまでの時間の余裕を指定するものです。制限時間内に仮想ユーザーがアクションを完了できない場合は、強制的に停止させられます。
長い制限時間を指定すると、次のステージが遅延する場合があることに注意してください。
- すべての作業が完了するまで、最後のステージを実行するかどうかを選択します。 通常このボックスはクリアしたままにし、ユーザーを無限ループに入れて、タスクが終了するまでステージを実行させます。
すべての作業が完了するまでに最後のステージを実行するよう設定されているか |
テストは無限ループに入っているか |
結果 |
いいえ |
はい |
一般的なケース: 最後のステージが終了すると、実行が終了します。 |
はい |
いいえ |
この組み合わせを選択する最も一般的な理由は、スケジュールのステージが 1 つで、すべての作業を完了まで実行するというものです (ステージなしのスケジュールと同等です)。ステージが複数あるスケジュールにこれらのオプションを設定すると、スケジュールの作業が尽きて、完了前に停止するリスクがあります。 |
はい |
はい |
推奨しません: スケジュールは、意図的に停止するまで実行します。 |
いいえ |
いいえ |
一般には使用しません: ステージが 1 つのスケジュールを実行して、仮想ユーザーがワークロードを完了したかしないかに関係なく、その実行を特定の時間で停止する場合に便利です。 |
- 「ユーザー・ロードのプレビュー」を調べて、ステージが正しく設定されていることを確認します。
赤線の部分は、そのステージのユーザーの合計数に達したこと、および (解決時間がある場合は) 解決時間が終了したことを示します。 次の図に、16 分のステージが 2 つあるスケジュールを示します。
2 番目のステージは変更の間隔が 4 分で、4 分の解決時間があります。
次のタスク
比較レポートを表示できます。これは実行完了時に各ステージの時刻範囲を比較したものです。
このレポートにより、テスト中のシステムがさまざまなユーザー負荷のもとでどのように実行するかを、並べて簡単に分析することができます。比較レポートを表示するには、テスト結果を右クリックして、
「すべての時刻範囲を比較」を選択します。
ステージ付きのスケジュール実行が終了するたびに比較レポートを自動的に表示するには、をクリックし、「ステージ付きの実行の完了時に比較レポートを起動」を選択します。