実際のユーザーは、アクションの合間に一時停止します。たとえば、ページを読んだり、フォームに入力したり、次にクリックするものを決めたりします。思考時間コマンドは、これらの休止をストレステストシナリオに挿入することで、仮想ユーザーがマシンスピードでリクエストを送信するのではなく、現実のユーザーのように振る舞うようにします。
Performance Test Service (PTS) は、次の 3 種類のタイマーをサポートしています。
| タイマーの種類 | 動作 | 最適なケース |
|---|---|---|
| [固定] | 正確に N ミリ秒待機します | 予測可能で再現性のある遅延 |
| [一様分布] | 定義された範囲内でランダムな時間待機します。範囲内のどの値も同じ確率で出現します | 変動するものの、一定の範囲内に収まるユーザー行動 |
| [正規分布] | ガウス分布に従い、中心値の周辺に集中するランダムな時間待機します | ほとんどの遅延が平均に近い現実的なモデリング |
シナリオへの思考時間コマンドの追加
PTS コンソールにログオンします。[パフォーマンス・テスト] > [シナリオの作成] を選択し、[PTS] をクリックします。
[PTS シナリオの作成] ページの [シナリオ設定] タブで、HTTP ノードの 基本的なリクエスト情報 を設定します。
[インストラクションの追加] の右にあるドロップダウン矢印をクリックし、[思考時間] を選択します。
[シンクタイム] 行で、ドロップダウン矢印をクリックし、[タイマータイプ] と [レイテンシー] パラメーターを設定します。各タイマータイプの詳細については、以降のセクションをご参照ください。
タイマーの種類
固定
リクエストは、続行する前に正確に N ミリ秒間一時停止します。N は、[レイテンシー] フィールドで設定した値です。
たとえば、遅延を 3000 に設定すると、すべての仮想ユーザーは、前のリクエストと次のアクションの間で正確に 3 秒間待機します。
一様分布
リクエストは、[[遅延オフセット], [遅延オフセット] + [可変スパン]] の範囲で一様分布するランダムな期間、一時停止します。この範囲内のどの値も、選択される確率は同じです。
| パラメーター | 説明 |
|---|---|
| [遅延オフセット] | 最小待機時間 (ミリ秒単位) |
| [可変スパン] | 遅延オフセットに追加されるランダムな範囲のサイズ |
遅延の計算式: 実際の遅延 = [遅延オフセット] から [遅延オフセット + 可変スパン] までの整数からランダムに選択
たとえば、[遅延オフセット] を 3 に、[変更可能範囲] を 2 に設定した場合、一時停止時間はリクエストごとに 3、4、または 5 ミリ秒からランダムに選択されます。
正規分布
リクエストは、正規分布 (ガウス分布) に従うランダムな時間、一時停止します。次の 2 つのパラメーターを設定します。
| パラメーター | 説明 |
|---|---|
| [平均] (μ) | ほとんどの待機時間が集中する中心値 |
| [分散] (σ²) | ばらつきを制御します。分散が小さいほど、待機時間は平均値の周りに集中します。分散が大きいほど、より広範囲の待機時間になります。 |
たとえば、平均を 5000 に設定し、分散を小さくすると、待機時間はほとんどが 5 秒に近い値になります。一方、分散を大きくすると、待機時間は 5 秒を大きく上回ったり下回ったりする、より広い範囲にわたります。
適切なタイマーの種類の選択
| シナリオ | 推奨されるタイマーの種類 | 例 |
|---|---|---|
| リクエスト間の一定で再現性のあるタイミング | [固定] | 制御されたペースで特定のエンドポイントをベンチマークする |
| 厳密な範囲内でのランダムな遅延 | [一様分布] | 確認メッセージを読むのに 2 ~ 5 秒かかるユーザーをシミュレーションする |
| 自然な変動を伴い、典型的な値の周りに集中する遅延 | [正規分布] | ほとんどの休止が平均思考時間に近い、実際のユーザーの行動をモデリングする |