【負荷テスト】JMeterの設定の覚書

スレッド数 :50
Ramp-Up期間:10
ループ回数:3

この場合は10秒間で50スレッドを生成する。
つまり1秒間に5スレッドを生成する。
このループ回数の意味は上記の場合、「5スレッドを生成する」を1秒間に3回ループするという意味らしい。
つまり、1秒間に15スレッドを生成することになる。(ややこしいな)
※1スレッドを生成 = 1リクエストを送る



例えば、1時間で64800リクエスト(秒間で180リクエスト)の負荷をかけたい場合は

スレッド数 :6000
Ramp-Up期間:6000
ループ回数:180

になる。


しかし、スレッドグループ一つでこの設定を実行すると1秒間全体を使わずにで一気に180スレッドを生成してしまう。
これだと、180リクエストが秒内で平均的に実行されずに、ドカンと実行されてしまって厳密な意味で平均的に負荷がかけられない



理想は1秒全体を使って平均的にスレッドを生成して欲しい。
(5.6msに1スレッドを生成してほしい)



そこで以下のように設定する。

テスト計画
|
+--スレッドグループ1
|       |
|       +-----HTTPリクエスト
|
+--スレッドグループ2
|       |
|       +-----定数タイマ
|       +-----HTTPリクエスト
|
+--スレッドグループ3
|       |
|       +-----定数タイマ
|       +-----HTTPリクエスト
|
+--スレッドグループ4
|       |
|       +-----定数タイマ
|       +-----HTTPリクエスト
|
+--統計レポート


各スレッドグループは共通で以下の設定
スレッド数 :6000
Ramp-Up期間:6000
ループ回数:45


スレッドグループ2〜4を遅延実行するために200ms、400ms、600msずつずらして定数タイマを入れている。



さらに、グラフや表などのリスナーを使うとJMeterがフリーズしてしまうので、リスナーは統計レポートだけ。
これでいくらか平均的に負荷がかけることができました。