各スレッドが10秒ごとにリクエストを送信する多数の同時スレッドでJMeterテストを実行したいと思います。
これらは私のスレッドのプロパティです。
スレッド数:1
立ち上げ期間:1
ループ数:1
結果:10リクエストが10秒に分割されたため、毎秒リクエストがあり、まさに私が欲しいものです。
このテストを3回(30秒)実行したいと思います。ループカウントを3に設定しました。
しかし、結果は次のとおりです。10秒で30リクエスト。これは奇妙です。これは30秒間実行し、1秒あたり1つのリクエストを取得することを期待しているためです。
JMeterでこれを実現するにはどうすればよいですか?
私の最終的な目標は、このテストを長期間実行し、スレッド数を増やすことです。
JMeterでこれを行う方法?
今日これを調べて、この結論に達しました:ループカウント設定は完全ですmisnomer。テスト計画にがある場合でも、実際にはloopはchronologicalの意味ではありません。 =)スレッドグループを連続して実行がチェックされています。それが行うことは、スレッドグループをmultiplyし、すべての倍数を同時に実行することです。したがって、Ramp-Up Periodはonceのみが考慮され、「ループ」ごとに1回は考慮されません-一時的なループはありません!
グラフの説明はここにあります: http://pro-programmers.blogspot.com/2009/07/jmeter-max-threads-with-rump-up-and.html
テストでスループットを制御する最も簡単な方法は、標準の「すぐに使える」 定数スループットタイマー またはカスタム スループットシェーピングタイマー を使用することです jmeter-pluginsコレクション 。
どちらの場合も、テストの構造は次のようになります。
スレッドグループスレッド数= Nランプアップ期間= Nループ数= 1一定スループットタイマーターゲットスループット= 60=「現在のスレッドグループ内のすべてのアクティブスレッド」に基づいてスループットを計算します 。 。 。 ループコントローラーループ数= M 。 。 。 HTTPリクエスト 。 。 。
ここで、ループコントローラは反復回数を定義します。
両方のタイマーが完全に正確ではなく、両方とも少し異なるように構成可能であるように見えます:
こちらも一種の 実用的な例 スループットを変化させる方法です。
あなたが設定した場合、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のリクエストを取得する必要があります(実際の実行時間を考慮する必要があります)タスク)
ランプアップについての私の理解では、値0はすべてのスレッドを同時に(同時に)起動します。
次のように設定すると、目的を達成できる可能性があります。
次に、コントローラーを使用して、各ループを終了するタイミングを決定します。
参照リンク: 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回実行するまで実行が続きます
うん、ループ数パラメータは直感的ではありません。私が理解したことから、実際にはスレッド/ユーザーが特定のテストを実行する回数
だからあなたが望むあなたの意図を正しく理解していれば:
構成は次のようになります。
スレッド数: N
ランプアップ期間: 0
ループ数: 3
また、(スレッドグループ内の)一定スループットタイマーでTarget Throughput(samples per minute 6)==を設定する必要があります。これは、10秒ごとにリクエストを行うことを意味します