You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by George <ba...@yahoo.de> on 2014/12/09 17:15:07 UTC

JMeter Thread Execution Order differs when keystore is applied?

Hello,
I have a simple test plan and wonder why the execution order differs every time i run the test plan.
So i have a 

Keystore Configuration element with 3 client certs (Start: 0 End: 2)I have 3 Threads (Thread 1,2,3) They all have a Ramp-Up Period of 1 sec and runs only once.Every Thread have just one simple controlerEvery simple controler have one http sampler targeting a simple GET to login to my web server via https.
So we have
TesPlan-->Keystore Configuration (Start: 0, End: 2 = total 3 certs)
----->Thread 1---------->Cookie Manager (clear after every run)
--------->Simple Controler------------>GET https://myserver.local------>Thread 2---------->Cookie Manager (clear after every run)---------->Simple Controler------------>GET https://myserver.local------> Thread 3---------->Cookie Manager (clear after every run)-----------> Simple Controler------------> GET https://myserver.local----->View Results Tree

Now i run the plan and i see the following execution order of my GET Samplers:
Thread 2 GET
Thread 1 GET
Thread 3 GET

Next time i run i seeThread 1 GET
Thread 2 GET
Thread 3 GET

Next time i run i seeThread 2 GET 
Thread 1 GET
Thread 3 GET

And so on and so on. 
It differes every time. But it should beThread 1Thread 2Thread 3 
Thread 1Thread 2Thread 3etc...
Beyond this everything works perfect. The login is done, the mutual ssl auth works perfect, the cookie handling works perfect...only the execution order seems to me "random"?Why is that?Why do he starts with the https GET request from Thread 2 and not Thread 1?It should be 1,2,3 1,2,3 1,2,3 1,2,3 every time?
BrGeorge



Re: JMeter Thread Execution Order differs when keystore is applied?

Posted by George <ba...@yahoo.de>.
Hello,
perfect anwser sebb...thank you so much.Yes i check the hook "Run threadgroups consecutively" in my test plan and now it runs perfect.Yes i have multiple thread groups and i want them to run consecutively.In thread one i upload a imageIn thread two i modify the previous uploaded imageIn thread three i delete the imageThis works only is the execution order is 1,2,3 and not 2,3,1 etc..:)
Thank you so much.

 

     sebb <se...@gmail.com> schrieb am 11:29 Mittwoch, 10.Dezember 2014:
   

 JMeter threads simulate *independent* users.
Each thread runs at its own pace.

The threads are started in order, with a delay specified by the ramp-up time.
However once started, each thread operates independently.

A ramp-up time of zero means there is no delay between starting threads.

During startup, there may be some once-off initialisation. This can
affect the first thread more than others, causing it to take longer.

Performance tests should run for sufficiently long to ensure that any
startup overhead is negligible.
Also of course the server being tested may need to get 'warmed up'.

If you really want to run single threads in strict sequence, either
use a long ramp-up so that the gap between threads is long enough that
one thread will finish before the next.
Or, use multiple thread groups and select "Run threadgroups consecutively".


On 10 December 2014 at 09:40, George <ba...@yahoo.de> wrote:
> Hi,
> all 3 Threads have a 1 sec ramp-up.
> But even when i set the value to 0 it does not change anything.btw. i run my jmeter on a centos 32 bit linux but i dont think this matters.
> In the log i see this:
> jmeter.threads.JMeterThread: Thread started: thread1 1-1
> jmeter.threads.JMeterThread: Thread started: thread2 2-1
> jmeter.threads.JMeterThread: Thread started: thread3 3-1
> So all threads starts in "correct" order namely "1,2,3...1,2,3...1,2,3..."..
> But i also see this:
> jmeter.threads.JMeterThread: Thread finished: thread1 1-1jmeter.threads.JMeterThread: Thread finished: thread3 3-1jmeter.threads.JMeterThread: Thread finished: thread2 2-1
>
> So here we have it. Thread 3 ends before Thread 2...thats why i see "Request1, Request3, Request2"But why is this?
> Well if i run my Testplan 10 times i get sometimes the "correct" order like: 1,2,3...1,2,3...1,2,3...but then it starts to change and it's "1,3,2...2,3,1...3,1,2..." then its again 1,2,3...etc...It's totally random.
> Again..im using a KeyStore Configuration and a keystore is configured with 3 client certs in my system.properties.if i use "keytool -list -keystore keystore.jks" i see all 3 cert and i see the "alias". Everything works perfect with that. The cert's are valid and are accepted.There is absolutly no error on this.
> But maybe something with the KeyStore Configuration Element is wrong? and cause the above problem?
>
>
>
>      chaitanya bhatt [via JMeter] <ml...@n5.nabble.com> schrieb am 20:48 Dienstag, 9.Dezember 2014:
>
>
>  How are you ramping up?
>
> Thanks
> Chaitanya Bhatt
>
> On Tue, Dec 9, 2014 at 8:15 AM, George <[hidden email]> wrote:
>
>> Hello,
>> I have a simple test plan and wonder why the execution order differs every
>> time i run the test plan.
>> So i have a
>>
>> Keystore Configuration element with 3 client certs (Start: 0 End: 2)I have
>> 3 Threads (Thread 1,2,3) They all have a Ramp-Up Period of 1 sec and runs
>> only once.Every Thread have just one simple controlerEvery simple controler
>> have one http sampler targeting a simple GET to login to my web server via
>> https.
>> So we have
>> TesPlan-->Keystore Configuration (Start: 0, End: 2 = total 3 certs)
>> ----->Thread 1---------->Cookie Manager (clear after every run)
>> --------->Simple Controler------------>GET https://myserver.local------>Thread
>> 2---------->Cookie Manager (clear after every run)---------->Simple
>> Controler------------>GET https://myserver.local------> Thread
>> 3---------->Cookie Manager (clear after every run)-----------> Simple
>> Controler------------> GET https://myserver.local----->View Results Tree
>>
>> Now i run the plan and i see the following execution order of my GET
>> Samplers:
>> Thread 2 GET
>> Thread 1 GET
>> Thread 3 GET
>>
>> Next time i run i seeThread 1 GET
>> Thread 2 GET
>> Thread 3 GET
>>
>> Next time i run i seeThread 2 GET
>> Thread 1 GET
>> Thread 3 GET
>>
>> And so on and so on.
>> It differes every time. But it should beThread 1Thread 2Thread 3
>> Thread 1Thread 2Thread 3etc...
>> Beyond this everything works perfect. The login is done, the mutual ssl
>> auth works perfect, the cookie handling works perfect...only the execution
>> order seems to me "random"?Why is that?Why do he starts with the https GET
>> request from Thread 2 and not Thread 1?It should be 1,2,3 1,2,3 1,2,3 1,2,3
>> every time?
>> BrGeorge
>>
>>
>>
>
>
>    If you reply to this email, your message will be added to the discussion below: http://jmeter.512774.n5.nabble.com/JMeter-Thread-Execution-Order-differs-when-keystore-is-applied-tp5721473p5721474.html   To start a new topic under JMeter - User, email ml-node+s512774n512775h38@n5.nabble.com
>  To unsubscribe from JMeter, click here.
>  NAML
>
>

   

Re: JMeter Thread Execution Order differs when keystore is applied?

Posted by sebb <se...@gmail.com>.
JMeter threads simulate *independent* users.
Each thread runs at its own pace.

The threads are started in order, with a delay specified by the ramp-up time.
However once started, each thread operates independently.

A ramp-up time of zero means there is no delay between starting threads.

During startup, there may be some once-off initialisation. This can
affect the first thread more than others, causing it to take longer.

Performance tests should run for sufficiently long to ensure that any
startup overhead is negligible.
Also of course the server being tested may need to get 'warmed up'.

If you really want to run single threads in strict sequence, either
use a long ramp-up so that the gap between threads is long enough that
one thread will finish before the next.
Or, use multiple thread groups and select "Run threadgroups consecutively".


On 10 December 2014 at 09:40, George <ba...@yahoo.de> wrote:
> Hi,
> all 3 Threads have a 1 sec ramp-up.
> But even when i set the value to 0 it does not change anything.btw. i run my jmeter on a centos 32 bit linux but i dont think this matters.
> In the log i see this:
> jmeter.threads.JMeterThread: Thread started: thread1 1-1
> jmeter.threads.JMeterThread: Thread started: thread2 2-1
> jmeter.threads.JMeterThread: Thread started: thread3 3-1
> So all threads starts in "correct" order namely "1,2,3...1,2,3...1,2,3..."..
> But i also see this:
> jmeter.threads.JMeterThread: Thread finished: thread1 1-1jmeter.threads.JMeterThread: Thread finished: thread3 3-1jmeter.threads.JMeterThread: Thread finished: thread2 2-1
>
> So here we have it. Thread 3 ends before Thread 2...thats why i see "Request1, Request3, Request2"But why is this?
> Well if i run my Testplan 10 times i get sometimes the "correct" order like: 1,2,3...1,2,3...1,2,3...but then it starts to change and it's "1,3,2...2,3,1...3,1,2..." then its again 1,2,3...etc...It's totally random.
> Again..im using a KeyStore Configuration and a keystore is configured with 3 client certs in my system.properties.if i use "keytool -list -keystore keystore.jks" i see all 3 cert and i see the "alias". Everything works perfect with that. The cert's are valid and are accepted.There is absolutly no error on this.
> But maybe something with the KeyStore Configuration Element is wrong? and cause the above problem?
>
>
>
>      chaitanya bhatt [via JMeter] <ml...@n5.nabble.com> schrieb am 20:48 Dienstag, 9.Dezember 2014:
>
>
>   How are you ramping up?
>
> Thanks
> Chaitanya Bhatt
>
> On Tue, Dec 9, 2014 at 8:15 AM, George <[hidden email]> wrote:
>
>> Hello,
>> I have a simple test plan and wonder why the execution order differs every
>> time i run the test plan.
>> So i have a
>>
>> Keystore Configuration element with 3 client certs (Start: 0 End: 2)I have
>> 3 Threads (Thread 1,2,3) They all have a Ramp-Up Period of 1 sec and runs
>> only once.Every Thread have just one simple controlerEvery simple controler
>> have one http sampler targeting a simple GET to login to my web server via
>> https.
>> So we have
>> TesPlan-->Keystore Configuration (Start: 0, End: 2 = total 3 certs)
>> ----->Thread 1---------->Cookie Manager (clear after every run)
>> --------->Simple Controler------------>GET https://myserver.local------>Thread
>> 2---------->Cookie Manager (clear after every run)---------->Simple
>> Controler------------>GET https://myserver.local------> Thread
>> 3---------->Cookie Manager (clear after every run)-----------> Simple
>> Controler------------> GET https://myserver.local----->View Results Tree
>>
>> Now i run the plan and i see the following execution order of my GET
>> Samplers:
>> Thread 2 GET
>> Thread 1 GET
>> Thread 3 GET
>>
>> Next time i run i seeThread 1 GET
>> Thread 2 GET
>> Thread 3 GET
>>
>> Next time i run i seeThread 2 GET
>> Thread 1 GET
>> Thread 3 GET
>>
>> And so on and so on.
>> It differes every time. But it should beThread 1Thread 2Thread 3
>> Thread 1Thread 2Thread 3etc...
>> Beyond this everything works perfect. The login is done, the mutual ssl
>> auth works perfect, the cookie handling works perfect...only the execution
>> order seems to me "random"?Why is that?Why do he starts with the https GET
>> request from Thread 2 and not Thread 1?It should be 1,2,3 1,2,3 1,2,3 1,2,3
>> every time?
>> BrGeorge
>>
>>
>>
>
>
>    If you reply to this email, your message will be added to the discussion below: http://jmeter.512774.n5.nabble.com/JMeter-Thread-Execution-Order-differs-when-keystore-is-applied-tp5721473p5721474.html   To start a new topic under JMeter - User, email ml-node+s512774n512775h38@n5.nabble.com
>  To unsubscribe from JMeter, click here.
>  NAML
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
For additional commands, e-mail: user-help@jmeter.apache.org


Re: JMeter Thread Execution Order differs when keystore is applied?

Posted by Apolli324 <ba...@yahoo.de>.
Hi,
all 3 Threads have a 1 sec ramp-up.
But even when i set the value to 0 it does not change anything.btw. i run my jmeter on a centos 32 bit linux but i dont think this matters.
In the log i see this:
jmeter.threads.JMeterThread: Thread started: thread1 1-1
jmeter.threads.JMeterThread: Thread started: thread2 2-1
jmeter.threads.JMeterThread: Thread started: thread3 3-1
So all threads starts in "correct" order namely "1,2,3...1,2,3...1,2,3..."..
But i also see this:
jmeter.threads.JMeterThread: Thread finished: thread1 1-1jmeter.threads.JMeterThread: Thread finished: thread3 3-1jmeter.threads.JMeterThread: Thread finished: thread2 2-1

So here we have it. Thread 3 ends before Thread 2...thats why i see "Request1, Request3, Request2"But why is this?
Well if i run my Testplan 10 times i get sometimes the "correct" order like: 1,2,3...1,2,3...1,2,3...but then it starts to change and it's "1,3,2...2,3,1...3,1,2..." then its again 1,2,3...etc...It's totally random.
Again..im using a KeyStore Configuration and a keystore is configured with 3 client certs in my system.properties.if i use "keytool -list -keystore keystore.jks" i see all 3 cert and i see the "alias". Everything works perfect with that. The cert's are valid and are accepted.There is absolutly no error on this. 
But maybe something with the KeyStore Configuration Element is wrong? and cause the above problem?



     chaitanya bhatt [via JMeter] <ml...@n5.nabble.com> schrieb am 20:48 Dienstag, 9.Dezember 2014:
   

  How are you ramping up?

Thanks
Chaitanya Bhatt

On Tue, Dec 9, 2014 at 8:15 AM, George <[hidden email]> wrote:

> Hello,
> I have a simple test plan and wonder why the execution order differs every
> time i run the test plan.
> So i have a
>
> Keystore Configuration element with 3 client certs (Start: 0 End: 2)I have
> 3 Threads (Thread 1,2,3) They all have a Ramp-Up Period of 1 sec and runs
> only once.Every Thread have just one simple controlerEvery simple controler
> have one http sampler targeting a simple GET to login to my web server via
> https.
> So we have
> TesPlan-->Keystore Configuration (Start: 0, End: 2 = total 3 certs)
> ----->Thread 1---------->Cookie Manager (clear after every run)
> --------->Simple Controler------------>GET https://myserver.local------>Thread
> 2---------->Cookie Manager (clear after every run)---------->Simple
> Controler------------>GET https://myserver.local------> Thread
> 3---------->Cookie Manager (clear after every run)-----------> Simple
> Controler------------> GET https://myserver.local----->View Results Tree
>
> Now i run the plan and i see the following execution order of my GET
> Samplers:
> Thread 2 GET
> Thread 1 GET
> Thread 3 GET
>
> Next time i run i seeThread 1 GET
> Thread 2 GET
> Thread 3 GET
>
> Next time i run i seeThread 2 GET
> Thread 1 GET
> Thread 3 GET
>
> And so on and so on.
> It differes every time. But it should beThread 1Thread 2Thread 3
> Thread 1Thread 2Thread 3etc...
> Beyond this everything works perfect. The login is done, the mutual ssl
> auth works perfect, the cookie handling works perfect...only the execution
> order seems to me "random"?Why is that?Why do he starts with the https GET
> request from Thread 2 and not Thread 1?It should be 1,2,3 1,2,3 1,2,3 1,2,3
> every time?
> BrGeorge
>
>
>
 
 
   If you reply to this email, your message will be added to the discussion below: http://jmeter.512774.n5.nabble.com/JMeter-Thread-Execution-Order-differs-when-keystore-is-applied-tp5721473p5721474.html   To start a new topic under JMeter - User, email ml-node+s512774n512775h38@n5.nabble.com 
 To unsubscribe from JMeter, click here.
 NAML 

    



--
View this message in context: http://jmeter.512774.n5.nabble.com/JMeter-Thread-Execution-Order-differs-when-keystore-is-applied-tp5721473p5721475.html
Sent from the JMeter - User mailing list archive at Nabble.com.

Re: JMeter Thread Execution Order differs when keystore is applied?

Posted by George <ba...@yahoo.de>.
Hi,
all 3 Threads have a 1 sec ramp-up.
But even when i set the value to 0 it does not change anything.btw. i run my jmeter on a centos 32 bit linux but i dont think this matters.
In the log i see this:
jmeter.threads.JMeterThread: Thread started: thread1 1-1
jmeter.threads.JMeterThread: Thread started: thread2 2-1
jmeter.threads.JMeterThread: Thread started: thread3 3-1
So all threads starts in "correct" order namely "1,2,3...1,2,3...1,2,3..."..
But i also see this:
jmeter.threads.JMeterThread: Thread finished: thread1 1-1jmeter.threads.JMeterThread: Thread finished: thread3 3-1jmeter.threads.JMeterThread: Thread finished: thread2 2-1

So here we have it. Thread 3 ends before Thread 2...thats why i see "Request1, Request3, Request2"But why is this?
Well if i run my Testplan 10 times i get sometimes the "correct" order like: 1,2,3...1,2,3...1,2,3...but then it starts to change and it's "1,3,2...2,3,1...3,1,2..." then its again 1,2,3...etc...It's totally random.
Again..im using a KeyStore Configuration and a keystore is configured with 3 client certs in my system.properties.if i use "keytool -list -keystore keystore.jks" i see all 3 cert and i see the "alias". Everything works perfect with that. The cert's are valid and are accepted.There is absolutly no error on this. 
But maybe something with the KeyStore Configuration Element is wrong? and cause the above problem?



     chaitanya bhatt [via JMeter] <ml...@n5.nabble.com> schrieb am 20:48 Dienstag, 9.Dezember 2014:
   

  How are you ramping up?

Thanks
Chaitanya Bhatt

On Tue, Dec 9, 2014 at 8:15 AM, George <[hidden email]> wrote:

> Hello,
> I have a simple test plan and wonder why the execution order differs every
> time i run the test plan.
> So i have a
>
> Keystore Configuration element with 3 client certs (Start: 0 End: 2)I have
> 3 Threads (Thread 1,2,3) They all have a Ramp-Up Period of 1 sec and runs
> only once.Every Thread have just one simple controlerEvery simple controler
> have one http sampler targeting a simple GET to login to my web server via
> https.
> So we have
> TesPlan-->Keystore Configuration (Start: 0, End: 2 = total 3 certs)
> ----->Thread 1---------->Cookie Manager (clear after every run)
> --------->Simple Controler------------>GET https://myserver.local------>Thread
> 2---------->Cookie Manager (clear after every run)---------->Simple
> Controler------------>GET https://myserver.local------> Thread
> 3---------->Cookie Manager (clear after every run)-----------> Simple
> Controler------------> GET https://myserver.local----->View Results Tree
>
> Now i run the plan and i see the following execution order of my GET
> Samplers:
> Thread 2 GET
> Thread 1 GET
> Thread 3 GET
>
> Next time i run i seeThread 1 GET
> Thread 2 GET
> Thread 3 GET
>
> Next time i run i seeThread 2 GET
> Thread 1 GET
> Thread 3 GET
>
> And so on and so on.
> It differes every time. But it should beThread 1Thread 2Thread 3
> Thread 1Thread 2Thread 3etc...
> Beyond this everything works perfect. The login is done, the mutual ssl
> auth works perfect, the cookie handling works perfect...only the execution
> order seems to me "random"?Why is that?Why do he starts with the https GET
> request from Thread 2 and not Thread 1?It should be 1,2,3 1,2,3 1,2,3 1,2,3
> every time?
> BrGeorge
>
>
>
 
 
   If you reply to this email, your message will be added to the discussion below: http://jmeter.512774.n5.nabble.com/JMeter-Thread-Execution-Order-differs-when-keystore-is-applied-tp5721473p5721474.html   To start a new topic under JMeter - User, email ml-node+s512774n512775h38@n5.nabble.com 
 To unsubscribe from JMeter, click here.
 NAML 

    

Re: JMeter Thread Execution Order differs when keystore is applied?

Posted by chaitanya bhatt <bh...@gmail.com>.
How are you ramping up?

Thanks
Chaitanya Bhatt

On Tue, Dec 9, 2014 at 8:15 AM, George <ba...@yahoo.de> wrote:

> Hello,
> I have a simple test plan and wonder why the execution order differs every
> time i run the test plan.
> So i have a
>
> Keystore Configuration element with 3 client certs (Start: 0 End: 2)I have
> 3 Threads (Thread 1,2,3) They all have a Ramp-Up Period of 1 sec and runs
> only once.Every Thread have just one simple controlerEvery simple controler
> have one http sampler targeting a simple GET to login to my web server via
> https.
> So we have
> TesPlan-->Keystore Configuration (Start: 0, End: 2 = total 3 certs)
> ----->Thread 1---------->Cookie Manager (clear after every run)
> --------->Simple Controler------------>GET https://myserver.local------>Thread
> 2---------->Cookie Manager (clear after every run)---------->Simple
> Controler------------>GET https://myserver.local------> Thread
> 3---------->Cookie Manager (clear after every run)-----------> Simple
> Controler------------> GET https://myserver.local----->View Results Tree
>
> Now i run the plan and i see the following execution order of my GET
> Samplers:
> Thread 2 GET
> Thread 1 GET
> Thread 3 GET
>
> Next time i run i seeThread 1 GET
> Thread 2 GET
> Thread 3 GET
>
> Next time i run i seeThread 2 GET
> Thread 1 GET
> Thread 3 GET
>
> And so on and so on.
> It differes every time. But it should beThread 1Thread 2Thread 3
> Thread 1Thread 2Thread 3etc...
> Beyond this everything works perfect. The login is done, the mutual ssl
> auth works perfect, the cookie handling works perfect...only the execution
> order seems to me "random"?Why is that?Why do he starts with the https GET
> request from Thread 2 and not Thread 1?It should be 1,2,3 1,2,3 1,2,3 1,2,3
> every time?
> BrGeorge
>
>
>