2016-05-27 15 views
1

公式ドキュメントを読んでいても、パフォーマンス/負荷テストのためにJmeterを試し始めました。基本的な質問があります。誰かがスレッドとランプップアップ時間についての私の理解を検証した場合に役立ちます。jmeterスレッドとランプアップの理解

例1:

Threads: 4 
RampupTime: 0.1 
No of requests (test cases): 1000 

どのスレッド分布が上記起こるのでしょうか?

例2:

Threads: 4 
RampupTime: 1 
No of requests (test cases): 1000 

どのスレッド分布が上記起こるのでしょうか?

この場合、Jmeterは4スレッドをスピンアップするのに1秒かかるでしょう。また、1秒後に実行されるテスト(テストケース10以降)では、4つの同時スレッドが4つの異なるテストを実行するでしょうか? (つまり、同時バッチ4)これは正しいですか?

助けてください。私は上記の3つのパラメータの間の相関関係と少し混乱しています。どんなイラストも大歓迎です。ありがとう。

+0

RampupTimeを1秒未満に指定できるかどうかはわかりませんが、実装を調べるとhttps://jmeter.apache.org/api/org/apache/jmeter/threads/ThreadGroup.html#setRampUp(int )rampupはint値しか取らないので、0.1に設定すると0の値を設定するようになります –

答えて

3

はありませんのでそこの最初の質問のために

なぜ1未満のもののためのrampup時間ではありませんか?

rampupTimeは1よりもint型anyting小さいので、250ミリ秒ごとに2番目の質問については0

http://svn.apache.org/viewvc/jmeter/branches/doc-v2_3_1/src/core/org/apache/jmeter/threads/ThreadGroup.java?revision=1196285&view=markup#l227

public void setRampUp(int rampUp) { 
        setProperty(new IntegerProperty(RAMP_TIME, rampUp)); 
       } 

考えられているスレッドがあり生み出した1秒後には、実行中の4つのスレッドを持っています。バックconcurrrentバッチのご理解に来

http://svn.apache.org/viewvc/jmeter/branches/doc-v2_3_1/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java?revision=1196285&view=markup#l399

int rampUp = group.getRampUp(); 
          float perThreadDelay = ((float) (rampUp * 1000)/(float) numThreads); 

。そうではありません。そうでないと、各スレッドは独立して実行されます。たとえば、何らかの未知の理由でスレッドのうちの1つがハングアップすると、3つはまだ実行されます。第1のスレッドが要求の第2のバッチを開始するのを待つことはない。

+0

説明ありがとう。私の2番目の例では、1秒後に、Jmeterは常にテストケースを分割して征服する4つのアクティブなスレッドが存在することを保証します。 – user1189332

+0

はいテストのシーケンスを通して並列に実行される4つのアクティブなスレッドが存在します –

関連する問題