web-dev-qa-db-ja.com

JMeterループ数

各スレッドが10秒ごとにリクエストを送信する多数の同時スレッドでJMeterテストを実行したいと思います。

これらは私のスレッドのプロパティです。

スレッド数:1

立ち上げ期間:1

ループ数:1

結果:10リクエストが10秒に分割されたため、毎秒リクエストがあり、まさに私が欲しいものです。

このテストを3回(30秒)実行したいと思います。ループカウントを3に設定しました。

しかし、結果は次のとおりです。10秒で30リクエスト。これは奇妙です。これは30秒間実行し、1秒あたり1つのリクエストを取得することを期待しているためです。

JMeterでこれを実現するにはどうすればよいですか?

私の最終的な目標は、このテストを長期間実行し、スレッド数を増やすことです。

JMeterでこれを行う方法?

16
user1187636

今日これを調べて、この結論に達しました:ループカウント設定は完全ですmisnomer。テスト計画にがある場合でも、実際にはloopchronologicalの意味ではありません。 =)スレッドグループを連続して実行がチェックされています。それが行うことは、スレッドグループをmultiplyし、すべての倍数を同時に実行することです。したがって、Ramp-Up Periodonceのみが考慮され、「ループ」ごとに1回は考慮されません-一時的なループはありません!

グラフの説明はここにあります: http://pro-programmers.blogspot.com/2009/07/jmeter-max-threads-with-rump-up-and.html

14
Toddius Zho

テストでスループットを制御する最も簡単な方法は、標準の「すぐに使える」 定数スループットタイマー またはカスタム スループットシェーピングタイマー を使用することです jmeter-pluginsコレクション


どちらの場合も、テストの構造は次のようになります。

スレッドグループスレッド数= Nランプアップ期間= Nループ数= 1一定スループットタイマーターゲットスループット= 60=「現在のスレッドグループ内のすべてのアクティブスレッド」に基づいてスループットを計算します
。 。 。
 ループコントローラーループ数= M
。 。 。
 HTTPリクエスト
。 。 。

ここで、ループコントローラは反復回数を定義します。


両方のタイマーが完全に正確ではなく、両方とも少し異なるように構成可能であるように見えます:

CTT

TST


こちらも一種の 実用的な例 スループットを変化させる方法です。

5

あなたが設定した場合、Jmeterでの私の経験では

スレッド数:1

立ち上げ期間:1

ループ数:1

あなたは10秒に10スレッドを作成するので、毎秒1スレッドを作成します。ループカウントが1の場合、これを1回繰り返します。 Butループカウントを増やした場合、私はあなたが思うDo n't新しいスレッドを作成するが、スレッドグループでjmeter要素の手順を繰り返すため、要求間の時間は30秒ではないでも10秒ちょっと。 30秒以内に30個のスレッドを作成する場合は、設定する必要があります

スレッド数:

立ち上げ期間:

ループ数:1

10秒のランプアップで10スレッドを3回繰り返す場合は、Timert-> Constant Timerをスレッド遅延10000ミリ秒で挿入して、30秒で30のリクエストを取得する必要があります(実際の実行時間を考慮する必要があります)タスク)

4
luca

ランプアップについての私の理解では、値0はすべてのスレッドを同時に(同時に)起動します。

次のように設定すると、目的を達成できる可能性があります。

  • スレッド数:1
  • 立ち上げ期間:
  • ループ数:N

次に、コントローラーを使用して、各ループを終了するタイミングを決定します。

1
Jamie Piltz

参照リンク: http://www.testingjournals.com/5-must-know-features-thread-group-jmeter/

シナリオ1:

number of threads = 20
Ramp-up period =100
loop count=1

5秒ごと(100/20)、1つの要求/スレッドがサーバーにヒットし、実行は一度に1つの要求で開始されます

シナリオ2:

number of threads = 20
Ramp-up period =100
loop count=4

5秒ごとに(100/20)4リクエスト/スレッドがサーバーにヒットし、最初のリクエスト/スレッドが完了すると、同じHTTPリクエストを実行して2番目のループを開始し、20スレッドすべてがすべてのHTTPリクエストを4回実行するまで実行が続きます

0
ZOU Zhiyuan

うん、ループ数パラメータは直感的ではありません。私が理解したことから、実際にはスレッド/ユーザーが特定のテストを実行する回数

だからあなたが望むあなたの意図を正しく理解していれば:

  • nの同時スレッド/ユーザーを実行する
  • それぞれが10秒ごとにリクエストを送信します
  • このシナリオを約30秒間実行したい

構成は次のようになります。

スレッド数: N

ランプアップ期間: 0

ループ数: 3

また、(スレッドグループ内の)一定スループットタイマーでTarget Throughput(samples per minute 6)==を設定する必要があります。これは、10秒ごとにリクエストを行うことを意味します

0
v0rin