負荷テストにおけるランプアップタイムとは
負荷テストにおけるランプアップタイムとは
ランプアップタイムプロパティは、テスト開始からすべての仮想ユーザーが実行されるまでの遅延を表します。
これはDuration設定とは独立しており、選択した仮想ユーザーの全数まで「ランプアップ」するのにかかる時間を示します。
ランプアップタイムは、テスト開始時にあまりにも大きなワークロードを避けるのに十分な長さで、かつ最初の仮想ユーザーが終了する前に最後の仮想ユーザーが実行を開始する程度に短くする必要があります(意図的にそうしたい場合を除く)。
この設定はJMeter負荷テストでも同様です。
注:ランプアップタイムの設定をスライドして、実行する負荷テストをよりよく視覚化できます。
JMeter負荷テストにおけるランプアップ期間とステップ
JMeter負荷テストを使用する際、「ランプアップ期間」と「ステップ」の概念を理解することが重要です。これらの概念は、ターゲットアプリケーションに対してリアルな負荷パターンをシミュレートするテストの設計に役立ちます。
JMeterにおけるランプアップ期間
ランプアップ期間は、シミュレートしたいすべてのスレッド(仮想ユーザー)をJMeterが開始するのにかかる時間です。例えば、スレッド数が100でランプアップ期間が100秒の場合、JMeterは毎秒1スレッドを開始します。
ランプアップ期間の目的は、アプリケーションへの突然のトラフィックの急増を防ぐことです。大量の即時トラフィックに苦労する可能性のあるシステムをテストする際に不可欠です。
ステップ
「ステップ」はJMeterの標準的な用語ではありませんが、テスト中に負荷が増加する方法を説明するためによく使用されます。「ステップロード」パターンは、目的のピーク負荷に達するまで、段階的または「ステップ」でユーザー数を増加させることを含みます。
例えば、合計100ユーザーがアクティブになるまで、10秒ごとに10ユーザーを導入することを選択できます。この方法により、さまざまな負荷レベルでのシステムの動作をモニタリングできます。
実際の例
500ユーザーをシミュレートし、ユーザー数が徐々に増加する際のシステムの反応を観察したいとします。
スレッド数(ユーザー): 500 ランプアップ期間: 100秒 ステップ: 5
この設定の場合:
- 20秒ごとに(100秒を5ステップで割った値)、新しいバッチのユーザーが開始されます。
- 各ステップで100ユーザーが導入されます(500ユーザーを5ステップで割った値)。
- つまり、JMeterは各ステップで毎秒5ユーザーを開始します(20秒を100ユーザーで割ると、ユーザーあたり0.2秒)。
100秒の間に、すべての500ユーザーがアクティブになり、負荷は5つの異なる段階で導入されます。この設定により、段階的な観察アプローチが可能になります。100アクティブユーザーでのシステムの応答を評価し、次に200、そして500ユーザー全員が参加するまで評価できます。この制御された負荷追加方法は、異なる負荷レベルでのパフォーマンスの問題を特定するのに優れています。
より高度なテストシナリオには、LoadFocusのJMeterクラウド負荷テストを使用して、複数のクラウドロケーションを活用し、より深いインサイトを得ることを検討してください。