You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by sebb <se...@gmail.com> on 2010/04/16 13:26:02 UTC

Re: Using transaction controller to count all iterations of each thread

On 16/04/2010, Petteri Lyytinen <Pe...@uoma.fi> wrote:
> One thing that's been troubling me is that I can't seem to be able to make the transaction controller count each iteration of each thread i.e. if I have 25 concurrent threads doing 10 iterations each, the transaction controller (that I have placed under a Recording Controller) only shows the throughput for 25 threads, when I would like to see the average for all 250 iterations completed.
>
>  Is there some way I could get the transaction controller to take all iterations into account, instead of just counting each thread once?

The Transaction Controller does not calculate throughput, it merely
aggregates samples.

What Listener are you using?

The ones that do aggregation generally ignore the thread name, and
just aggregate based on the sampler name, so throughput should be for
all threads.

>  -Petteri
>
>  --
>  Petteri Lyytinen
>  Test Manager
>  +358 (0)40 351 5054
>  petteri.lyytinen@uoma.fi
>
>  UOMA OY | Merimiehenkatu 36D | FI-00150 Helsinki | www.uoma.fi
>
>
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
>  For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>
>

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


RE: Using transaction controller to count all iterations of each thread

Posted by je...@orange-ftgroup.com.
 
To complete that Deepak Shetty said, you can add also a Simple Data Writer
at the transaction level to log in a file.

Cordialement / Best regards

Jean-Louis Pasturel

-----Message d'origine-----
De : Deepak Shetty [mailto:shettyd@gmail.com] 
Envoyé : mardi 27 avril 2010 19:46
À : JMeter Users List
Objet : Re: Using transaction controller to count all iterations of each
thread

Thread Group (15 Threads, 10 loops)
+Transaction Controller (Generate Parent sample = true)
++Req1
++Req2
...
++Req31


I.e. your requests are children of the transaction controller . Then add the
listener , you should get 15*10=150 samples with the value being the sum of
all the indvidual requests) Does this work for you?

regards
deepak

On Tue, Apr 27, 2010 at 7:50 AM, Petteri Lyytinen
<Pe...@uoma.fi>wrote:

> I'm apparently not explaining myself very clearly.
>
> I have a thread group with a total of 31 HTTP Request samplers under a 
> Recording Controller. I'm not interested in how many singular HTTP 
> Requests the system is able to process per time unit 
> (second/minute/hour), but it would be relevant to see how many times 
> per time unit the system is able to process the full 31 HTTP Request flow.
>
> Now, if I add a Transaction Controller under the Thread Group, it will 
> show me how many full flows the system can process per time unit, but 
> this is only true when the number of loops is exactly one. If the 
> number of loops is increased to two or more, the Transaction 
> Controller becomes useless as it only shows the processing 
> capabilities from the first loop (per thread) and doesn't update after 
> that - regardless of the number of loops defined in the Thread Group.
>
> So, if I've set JMeter to use 15 concurrent threads, with each thread 
> looping 10 times, I would like to be able to see how many full 31 HTTP 
> Request flows, on average, the system is able to process per time 
> unit, for all 150 iterations completed. Again, the system's processing 
> capabilities per call are irrelevant, only the full flow matters.
>
> So, the question remains: Is there any way to achieve that in JMeter?
>
> I'm sure I won't be able to make it any more clear than that. :)
>
> -Petteri
>
> PS. I'm sorry if I appear somehow obtuse with these questions, but I'm 
> just learning to use JMeter and the online documentation really isn't 
> very newbie-friendly or descriptive in a number of places.
>
> > -----Original Message-----
> > From: sebb [mailto:sebbaz@gmail.com]
> > Sent: 27. huhtikuuta 2010 16:44
> > To: JMeter Users List
> > Subject: Re: Using transaction controller to count all iterations of 
> > each thread
> >
> > On 27/04/2010, Petteri Lyytinen <Pe...@uoma.fi> wrote:
> > > Okay, let's rephrase the question once more. Nevermind the
> > transaction controller mentioned in the subject.
> > >
> > >  What I want: With 15 threads doing 10 iterations each I want to
> > see 150 results.
> >
> > That's what JMeter does normally.
> >
> > >  What I don't want: With 15 threads doing 10 iterations each I
> > don't want to see only 15 results.
> >
> > Don't use an aggregate Listener, use View Results in Table.
> >
> > >
> > >  So the question is: Is there any way I could possibly see the
> > time it takes for each thread to complete each iteration, not just 
> > one result per thread?
> > >
> >
> > See above.
> >
> > >  -Petteri
> > >
> > >
> > >  > The TC does not calculate any statistics nor does it loop.
> > >  >
> > >  >
> > http://jakarta.apache.org/jmeter/usermanual/component_reference.htm
> > >  > l#Transaction_Controller
> > >  >
> > >  > Use the TC controller to enclose the samples you want to
> > aggregate,
> > >  > and then use the appropriate Listener to summarise these.
> > >
> > >
> > > -----------------------------------------------------------------
> > ----
> > >  To unsubscribe, e-mail: jmeter-user-
> > unsubscribe@jakarta.apache.org
> > >  For additional commands, e-mail: jmeter-user-
> > help@jakarta.apache.org
> > >
> > >
> >
> > -------------------------------------------------------------------
> > --
> > To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: jmeter-user- 
> > help@jakarta.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>
>



*********************************
This message and any attachments (the "message") are confidential and intended solely for the addressees. 
Any unauthorised use or dissemination is prohibited.
Messages are susceptible to alteration. 
France Telecom Group shall not be liable for the message if altered, changed or falsified.
If you are not the intended addressee of this message, please cancel it immediately and inform the sender.
********************************


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


RE: Using transaction controller to count all iterations of each thread

Posted by Petteri Lyytinen <Pe...@uoma.fi>.
Thank you Deepak, that actually solved the problem I had.

The mistake that I had made was that the Transaction Controller was on the same level with the HTTP Request samplers, instead of the samplers being children of the controller. I removed the Recording Controller and placed the HTTP Request samplers under the Transaction Controller and now it's working the way I was originally hoping it would.

Thank you so much!

-Petteri

> -----Original Message-----
> From: Deepak Shetty [mailto:shettyd@gmail.com]
> Sent: 27. huhtikuuta 2010 20:46
> To: JMeter Users List
> Subject: Re: Using transaction controller to count all iterations
> of each thread
> 
> Thread Group (15 Threads, 10 loops)
> +Transaction Controller (Generate Parent sample = true)
> ++Req1
> ++Req2
> ...
> ++Req31
> 
> 
> I.e. your requests are children of the transaction controller .
> Then add the
> listener , you should get 15*10=150 samples with the value being
> the sum of
> all the indvidual requests)
> Does this work for you?

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


Re: Using transaction controller to count all iterations of each thread

Posted by Deepak Shetty <sh...@gmail.com>.
Thread Group (15 Threads, 10 loops)
+Transaction Controller (Generate Parent sample = true)
++Req1
++Req2
...
++Req31


I.e. your requests are children of the transaction controller . Then add the
listener , you should get 15*10=150 samples with the value being the sum of
all the indvidual requests)
Does this work for you?

regards
deepak

On Tue, Apr 27, 2010 at 7:50 AM, Petteri Lyytinen
<Pe...@uoma.fi>wrote:

> I'm apparently not explaining myself very clearly.
>
> I have a thread group with a total of 31 HTTP Request samplers under a
> Recording Controller. I'm not interested in how many singular HTTP Requests
> the system is able to process per time unit (second/minute/hour), but it
> would be relevant to see how many times per time unit the system is able to
> process the full 31 HTTP Request flow.
>
> Now, if I add a Transaction Controller under the Thread Group, it will show
> me how many full flows the system can process per time unit, but this is
> only true when the number of loops is exactly one. If the number of loops is
> increased to two or more, the Transaction Controller becomes useless as it
> only shows the processing capabilities from the first loop (per thread) and
> doesn't update after that - regardless of the number of loops defined in the
> Thread Group.
>
> So, if I've set JMeter to use 15 concurrent threads, with each thread
> looping 10 times, I would like to be able to see how many full 31 HTTP
> Request flows, on average, the system is able to process per time unit, for
> all 150 iterations completed. Again, the system's processing capabilities
> per call are irrelevant, only the full flow matters.
>
> So, the question remains: Is there any way to achieve that in JMeter?
>
> I'm sure I won't be able to make it any more clear than that. :)
>
> -Petteri
>
> PS. I'm sorry if I appear somehow obtuse with these questions, but I'm just
> learning to use JMeter and the online documentation really isn't very
> newbie-friendly or descriptive in a number of places.
>
> > -----Original Message-----
> > From: sebb [mailto:sebbaz@gmail.com]
> > Sent: 27. huhtikuuta 2010 16:44
> > To: JMeter Users List
> > Subject: Re: Using transaction controller to count all iterations
> > of each thread
> >
> > On 27/04/2010, Petteri Lyytinen <Pe...@uoma.fi> wrote:
> > > Okay, let's rephrase the question once more. Nevermind the
> > transaction controller mentioned in the subject.
> > >
> > >  What I want: With 15 threads doing 10 iterations each I want to
> > see 150 results.
> >
> > That's what JMeter does normally.
> >
> > >  What I don't want: With 15 threads doing 10 iterations each I
> > don't want to see only 15 results.
> >
> > Don't use an aggregate Listener, use View Results in Table.
> >
> > >
> > >  So the question is: Is there any way I could possibly see the
> > time it takes for each thread to complete each iteration, not just
> > one result per thread?
> > >
> >
> > See above.
> >
> > >  -Petteri
> > >
> > >
> > >  > The TC does not calculate any statistics nor does it loop.
> > >  >
> > >  >
> > http://jakarta.apache.org/jmeter/usermanual/component_reference.htm
> > >  > l#Transaction_Controller
> > >  >
> > >  > Use the TC controller to enclose the samples you want to
> > aggregate,
> > >  > and then use the appropriate Listener to summarise these.
> > >
> > >
> > > -----------------------------------------------------------------
> > ----
> > >  To unsubscribe, e-mail: jmeter-user-
> > unsubscribe@jakarta.apache.org
> > >  For additional commands, e-mail: jmeter-user-
> > help@jakarta.apache.org
> > >
> > >
> >
> > -------------------------------------------------------------------
> > --
> > To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: jmeter-user-
> > help@jakarta.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>
>

RE: Using transaction controller to count all iterations of each thread

Posted by Petteri Lyytinen <Pe...@uoma.fi>.
I'm apparently not explaining myself very clearly.

I have a thread group with a total of 31 HTTP Request samplers under a Recording Controller. I'm not interested in how many singular HTTP Requests the system is able to process per time unit (second/minute/hour), but it would be relevant to see how many times per time unit the system is able to process the full 31 HTTP Request flow.

Now, if I add a Transaction Controller under the Thread Group, it will show me how many full flows the system can process per time unit, but this is only true when the number of loops is exactly one. If the number of loops is increased to two or more, the Transaction Controller becomes useless as it only shows the processing capabilities from the first loop (per thread) and doesn't update after that - regardless of the number of loops defined in the Thread Group.

So, if I've set JMeter to use 15 concurrent threads, with each thread looping 10 times, I would like to be able to see how many full 31 HTTP Request flows, on average, the system is able to process per time unit, for all 150 iterations completed. Again, the system's processing capabilities per call are irrelevant, only the full flow matters.

So, the question remains: Is there any way to achieve that in JMeter? 

I'm sure I won't be able to make it any more clear than that. :)

-Petteri

PS. I'm sorry if I appear somehow obtuse with these questions, but I'm just learning to use JMeter and the online documentation really isn't very newbie-friendly or descriptive in a number of places.
 
> -----Original Message-----
> From: sebb [mailto:sebbaz@gmail.com]
> Sent: 27. huhtikuuta 2010 16:44
> To: JMeter Users List
> Subject: Re: Using transaction controller to count all iterations
> of each thread
> 
> On 27/04/2010, Petteri Lyytinen <Pe...@uoma.fi> wrote:
> > Okay, let's rephrase the question once more. Nevermind the
> transaction controller mentioned in the subject.
> >
> >  What I want: With 15 threads doing 10 iterations each I want to
> see 150 results.
> 
> That's what JMeter does normally.
> 
> >  What I don't want: With 15 threads doing 10 iterations each I
> don't want to see only 15 results.
> 
> Don't use an aggregate Listener, use View Results in Table.
> 
> >
> >  So the question is: Is there any way I could possibly see the
> time it takes for each thread to complete each iteration, not just
> one result per thread?
> >
> 
> See above.
> 
> >  -Petteri
> >
> >
> >  > The TC does not calculate any statistics nor does it loop.
> >  >
> >  >
> http://jakarta.apache.org/jmeter/usermanual/component_reference.htm
> >  > l#Transaction_Controller
> >  >
> >  > Use the TC controller to enclose the samples you want to
> aggregate,
> >  > and then use the appropriate Listener to summarise these.
> >
> >
> > -----------------------------------------------------------------
> ----
> >  To unsubscribe, e-mail: jmeter-user-
> unsubscribe@jakarta.apache.org
> >  For additional commands, e-mail: jmeter-user-
> help@jakarta.apache.org
> >
> >
> 
> -------------------------------------------------------------------
> --
> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jmeter-user-
> help@jakarta.apache.org


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


Re: Using transaction controller to count all iterations of each thread

Posted by sebb <se...@gmail.com>.
On 27/04/2010, Petteri Lyytinen <Pe...@uoma.fi> wrote:
> Okay, let's rephrase the question once more. Nevermind the transaction controller mentioned in the subject.
>
>  What I want: With 15 threads doing 10 iterations each I want to see 150 results.

That's what JMeter does normally.

>  What I don't want: With 15 threads doing 10 iterations each I don't want to see only 15 results.

Don't use an aggregate Listener, use View Results in Table.

>
>  So the question is: Is there any way I could possibly see the time it takes for each thread to complete each iteration, not just one result per thread?
>

See above.

>  -Petteri
>
>
>  > The TC does not calculate any statistics nor does it loop.
>  >
>  > http://jakarta.apache.org/jmeter/usermanual/component_reference.htm
>  > l#Transaction_Controller
>  >
>  > Use the TC controller to enclose the samples you want to aggregate,
>  > and then use the appropriate Listener to summarise these.
>
>
> ---------------------------------------------------------------------
>  To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
>  For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>
>

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


RE: Using transaction controller to count all iterations of each thread

Posted by Petteri Lyytinen <Pe...@uoma.fi>.
Okay, let's rephrase the question once more. Nevermind the transaction controller mentioned in the subject.

What I want: With 15 threads doing 10 iterations each I want to see 150 results.
What I don't want: With 15 threads doing 10 iterations each I don't want to see only 15 results.

So the question is: Is there any way I could possibly see the time it takes for each thread to complete each iteration, not just one result per thread?

-Petteri

> The TC does not calculate any statistics nor does it loop.
> 
> http://jakarta.apache.org/jmeter/usermanual/component_reference.htm
> l#Transaction_Controller
> 
> Use the TC controller to enclose the samples you want to aggregate,
> and then use the appropriate Listener to summarise these.

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


Re: Using transaction controller to count all iterations of each thread

Posted by sebb <se...@gmail.com>.
On 16/04/2010, Petteri Lyytinen <Pe...@uoma.fi> wrote:
> > The Transaction Controller does not calculate throughput, it merely
>  > aggregates samples.
>  >
>  > What Listener are you using?
>
>
> Aggregate report and View Results Tree for specifics on each call.
>

Both of these use a lot of memory (Aggregate will be better in the
next version of JMeter), so should be disabled for long runs.

Summary Report is cheaper; please read:

http://jakarta.apache.org/jmeter/usermanual/component_reference.html#listeners

>  > The ones that do aggregation generally ignore the thread name, and
>  > just aggregate based on the sampler name, so throughput should be
>  > for all threads.
>
>
> So is there a way to get the Transaction Controller to show the time
>  it takes for each loop to complete (or how many loops are completed
>  per second/minute/hour), when doing several loops per thread, with
>  multiple concurrent threads?

The TC does not calculate any statistics nor does it loop.

http://jakarta.apache.org/jmeter/usermanual/component_reference.html#Transaction_Controller

Use the TC controller to enclose the samples you want to aggregate,
and then use the appropriate Listener to summarise these.

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

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


RE: Using transaction controller to count all iterations of each thread

Posted by Petteri Lyytinen <Pe...@uoma.fi>.
> The Transaction Controller does not calculate throughput, it merely
> aggregates samples.
> 
> What Listener are you using?

Aggregate report and View Results Tree for specifics on each call.

> The ones that do aggregation generally ignore the thread name, and
> just aggregate based on the sampler name, so throughput should be
> for all threads.

So is there a way to get the Transaction Controller to show the time
it takes for each loop to complete (or how many loops are completed
per second/minute/hour), when doing several loops per thread, with
multiple concurrent threads?

-Petteri

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