You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by Marcelo Jara <ma...@hotmail.com> on 2015/02/18 20:36:49 UTC

Constant Throughput Timer limitation or bug?

I am using Jmeter 2.12 and noticed that during a test, the transactions per second was much higher than I had configured. Using a value of 15000 (250 TPS) works as expected. If I go to 15001, the TPS jumps to 333. Here are some more results:
CTP = 15000, expected = 250 tps, result 250 tpsCTP = 15001, expected = 250 tps, result 333 tps
CTP = 20000, expected = 333 tps, result 333 tpsCTP = 20001, expected = 333 tps, result 500 tps
CTP = 30000, expected = 500 tps, result 500 tpsCTP = 30001, expected = 500 tps, result 1000 tps


I was able to create a simple test plan that exhibits the same issue. 
Thread Group (100 threads, loop forever,scheduler with duration of 60)---- Debug Sampler (all defaults)      ---- CTP (all active threads in current thread group (shared)


Anyone else run into this? 
Thanks,
Marcelo 		 	   		  

Re: Constant Throughput Timer limitation or bug?

Posted by Philippe Mouawad <ph...@gmail.com>.
Hi,
It's a bug:
https://bz.apache.org/bugzilla/show_bug.cgi?id=57607

Improved behaviour but still not perfect , check nightly build.

http://jmeter.apache.org/nightly.html

Installing JMeter runtime Download the _bin and _lib files
Unpack the archives into the same directory structure
The other archives are not needed to run JMeter.


Regards

On Thu, Feb 19, 2015 at 9:19 AM, Erez Naim <er...@theneura.com> wrote:

> Marcelo please send your jmx file. this file cannot be open under Jmeter.
>
>
>
>
>
>
>
> From: Marcelo Jara [mailto:marcelojara@hotmail.com]
> Sent: Thursday, February 19, 2015 6:07 AM
> To: JMeter Users List
> Subject: RE: Constant Throughput Timer limitation or bug?
>
>
>
> Not sure if the attachment will go through. If not here's the test plan:
>
>
>
>
>
>
>
>
>
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <jmeterTestPlan version="1.2" properties="2.7" jmeter="2.12 r1636949">
>
>   <hashTree>
>
>     <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test
> Plan" enabled="true">
>
>       <stringProp name="TestPlan.comments"></stringProp>
>
>       <boolProp name="TestPlan.functional_mode">false</boolProp>
>
>       <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
>
>       <elementProp name="TestPlan.user_defined_variables"
> elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments"
> testname="User Defined Variables" enabled="true">
>
>         <collectionProp name="Arguments.arguments"/>
>
>       </elementProp>
>
>       <stringProp name="TestPlan.user_define_classpath"></stringProp>
>
>     </TestPlan>
>
>     <hashTree>
>
>       <ResultCollector guiclass="SummaryReport" testclass="ResultCollector"
> testname="Summary Report" enabled="true">
>
>         <boolProp name="ResultCollector.error_logging">false</boolProp>
>
>         <objProp>
>
>           <name>saveConfig</name>
>
>           <value class="SampleSaveConfiguration">
>
>             <time>true</time>
>
>             <latency>true</latency>
>
>             <timestamp>true</timestamp>
>
>             <success>true</success>
>
>             <label>true</label>
>
>             <code>true</code>
>
>             <message>true</message>
>
>             <threadName>true</threadName>
>
>             <dataType>true</dataType>
>
>             <encoding>false</encoding>
>
>             <assertions>true</assertions>
>
>             <subresults>true</subresults>
>
>             <responseData>false</responseData>
>
>             <samplerData>false</samplerData>
>
>             <xml>false</xml>
>
>             <fieldNames>true</fieldNames>
>
>             <responseHeaders>false</responseHeaders>
>
>             <requestHeaders>false</requestHeaders>
>
>             <responseDataOnError>false</responseDataOnError>
>
>
>
> <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage
> >
>
>             <assertionsResultsToSave>0</assertionsResultsToSave>
>
>             <bytes>true</bytes>
>
>             <threadCounts>true</threadCounts>
>
>           </value>
>
>         </objProp>
>
>         <stringProp name="filename"></stringProp>
>
>       </ResultCollector>
>
>       <hashTree/>
>
>       <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup"
> testname="Thread Group" enabled="true">
>
>         <stringProp
> name="ThreadGroup.on_sample_error">continue</stringProp>
>
>         <elementProp name="ThreadGroup.main_controller"
> elementType="LoopController" guiclass="LoopControlPanel"
> testclass="LoopController" testname="Loop Controller" enabled="true">
>
>           <boolProp name="LoopController.continue_forever">false</boolProp>
>
>           <intProp name="LoopController.loops">-1</intProp>
>
>         </elementProp>
>
>         <stringProp name="ThreadGroup.num_threads">100</stringProp>
>
>         <stringProp name="ThreadGroup.ramp_time">1</stringProp>
>
>         <longProp name="ThreadGroup.start_time">1424318529000</longProp>
>
>         <longProp name="ThreadGroup.end_time">1424318529000</longProp>
>
>         <boolProp name="ThreadGroup.scheduler">true</boolProp>
>
>         <stringProp name="ThreadGroup.duration">120</stringProp>
>
>         <stringProp name="ThreadGroup.delay"></stringProp>
>
>       </ThreadGroup>
>
>       <hashTree>
>
>         <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler"
> testname="Debug Sampler" enabled="true">
>
>           <boolProp name="displayJMeterProperties">false</boolProp>
>
>           <boolProp name="displayJMeterVariables">true</boolProp>
>
>           <boolProp name="displaySystemProperties">false</boolProp>
>
>         </DebugSampler>
>
>         <hashTree>
>
>           <ConstantThroughputTimer guiclass="TestBeanGUI"
> testclass="ConstantThroughputTimer" testname="Constant Throughput Timer"
> enabled="true">
>
>             <intProp name="calcMode">4</intProp>
>
>             <doubleProp>
>
>               <name>throughput</name>
>
>               <value>20000.0</value>
>
>               <savedValue>0.0</savedValue>
>
>             </doubleProp>
>
>           </ConstantThroughputTimer>
>
>           <hashTree/>
>
>         </hashTree>
>
>       </hashTree>
>
>     </hashTree>
>
>   </hashTree>
>
> </jmeterTestPlan>
>
>
>
>
>
>
>
>
>
> > Date: Wed, 18 Feb 2015 23:26:19 +0100
> > Subject: Re: Constant Throughput Timer limitation or bug?
> > From: philippe.mouawad@gmail.com <ma...@gmail.com>
> > To: user@jmeter.apache.org <ma...@jmeter.apache.org>
> >
> > Hi,
> > Can you provide a simple jmx file using Debug SAmpler or Test Action with
> > sleep and showing issue.
> >
> > On Wed, Feb 18, 2015 at 9:34 PM, Marcelo Jara <marcelojara@hotmail.com
> <ma...@hotmail.com> >
> > wrote:
> >
> > > Thanks Philippe I did read that, but still confused when to use one
> over
> > > the other. Do you have any examples? Maybe that would make it a little
> more
> > > clear.
> > > However, whether the CTP is calculated based on when each thread last
> ran
> > > or when any thread last ran, the goal of the timer to reach the target
> > > throughput. Why when using shared mode does the throughput jump from
> 250
> > > tps to 333 tps when changing CTP from 20,000 to 20,001?
> > >
> > True, I don't have the full history of CTT, maybe sebb can give more
> > details.
> >
> > For how much time do you run your test ?
> >
> >
> > Thanks again.
> > > - Marcelo
> > >
> > > > Date: Wed, 18 Feb 2015 21:19:09 +0100
> > > > Subject: Re: Constant Throughput Timer limitation or bug?
> > > > From: philippe.mouawad@gmail.com <ma...@gmail.com>
> > > > To: user@jmeter.apache.org <ma...@jmeter.apache.org>
> > > >
> > > > Hi,
> > > > As per:
> > > >
> > >
>
> http://jmeter.apache.org/usermanual/component_reference.html#Constant_Throug
> hput_Timer
> > > >
> > > >
> > > > - all active threads in current thread group - the target throughput
> > > is
> > > > divided amongst all the active threads in the group. Each thread will
> > > delay
> > > > as needed, based on when it last ran.
> > > > - all active threads in current thread group (shared) - as above, but
> > > > each thread is delayed based on when any thread in the group last
> ran.
> > > >
> > > > Regards
> > > >
> > > > On Wed, Feb 18, 2015 at 9:00 PM, Marcelo Jara <
> marcelojara@hotmail.com
> <ma...@hotmail.com> >
> > > > wrote:
> > > >
> > > > > Not sure why my original email's format is off.
> > > > >
> > > > > Updating CTP to use "all active threads in current thread group"
> seems
> > > to
> > > > > work. Not sure why using "shared" exhibits the odd results.
> > > > >
> > > > >
> > > > > > From: marcelojara@hotmail.com <ma...@hotmail.com>
> > > > > > To: user@jmeter.apache.org <ma...@jmeter.apache.org>
> > > > > > Subject: Constant Throughput Timer limitation or bug?
> > > > > > Date: Wed, 18 Feb 2015 14:36:49 -0500
> > > > > >
> > > > > > I am using Jmeter 2.12 and noticed that during a test, the
> > > transactions
> > > > > per second was much higher than I had configured. Using a value of
> > > 15000
> > > > > (250 TPS) works as expected. If I go to 15001, the TPS jumps to
> 333.
> > > Here
> > > > > are some more results:
> > > > > CTP = 15000, expected = 250 tps, result 250 tpsCTP = 15001,
> expected
> =
> > > 250
> > > > > tps, result 333 tps
> > > > > CTP = 20000, expected = 333 tps, result 333 tpsCTP = 20001,
> expected
> =
> > > 333
> > > > > tps, result 500 tps
> > > > > CTP = 30000, expected = 500 tps, result 500 tpsCTP = 30001,
> expected
> =
> > > 500
> > > > > tps, result 1000 tps
> > > > > >
> > > > > >
> > > > > > I was able to create a simple test plan that exhibits the same
> issue.
> > > > > Thread Group (100 threads, loop forever,scheduler with duration of
> 60)
> > > > > ---- Debug Sampler (all defaults) ---- CTP (all active
> > > threads in
> > > > > current thread group (shared)
> > > > > >
> > > > > >
> > > > > > Anyone else run into this?
> > > > > > Thanks,
> > > > > > Marcelo
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Cordialement.
> > > > Philippe Mouawad.
> > >
> > >
> >
> >
> >
> > --
> > Cordialement.
> > Philippe Mouawad.
>
>


-- 
Cordialement.
Philippe Mouawad.

RE: Constant Throughput Timer limitation or bug?

Posted by Erez Naim <er...@theneura.com>.
Marcelo please send your jmx file. this file cannot be open under Jmeter. 

 

 

 

From: Marcelo Jara [mailto:marcelojara@hotmail.com] 
Sent: Thursday, February 19, 2015 6:07 AM
To: JMeter Users List
Subject: RE: Constant Throughput Timer limitation or bug?

 

Not sure if the attachment will go through. If not here's the test plan:

 

 

 

 

 

<?xml version="1.0" encoding="UTF-8"?>

<jmeterTestPlan version="1.2" properties="2.7" jmeter="2.12 r1636949">

  <hashTree>

    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test
Plan" enabled="true">

      <stringProp name="TestPlan.comments"></stringProp>

      <boolProp name="TestPlan.functional_mode">false</boolProp>

      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>

      <elementProp name="TestPlan.user_defined_variables"
elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments"
testname="User Defined Variables" enabled="true">

        <collectionProp name="Arguments.arguments"/>

      </elementProp>

      <stringProp name="TestPlan.user_define_classpath"></stringProp>

    </TestPlan>

    <hashTree>

      <ResultCollector guiclass="SummaryReport" testclass="ResultCollector"
testname="Summary Report" enabled="true">

        <boolProp name="ResultCollector.error_logging">false</boolProp>

        <objProp>

          <name>saveConfig</name>

          <value class="SampleSaveConfiguration">

            <time>true</time>

            <latency>true</latency>

            <timestamp>true</timestamp>

            <success>true</success>

            <label>true</label>

            <code>true</code>

            <message>true</message>

            <threadName>true</threadName>

            <dataType>true</dataType>

            <encoding>false</encoding>

            <assertions>true</assertions>

            <subresults>true</subresults>

            <responseData>false</responseData>

            <samplerData>false</samplerData>

            <xml>false</xml>

            <fieldNames>true</fieldNames>

            <responseHeaders>false</responseHeaders>

            <requestHeaders>false</requestHeaders>

            <responseDataOnError>false</responseDataOnError>

 
<saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage
>

            <assertionsResultsToSave>0</assertionsResultsToSave>

            <bytes>true</bytes>

            <threadCounts>true</threadCounts>

          </value>

        </objProp>

        <stringProp name="filename"></stringProp>

      </ResultCollector>

      <hashTree/>

      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup"
testname="Thread Group" enabled="true">

        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>

        <elementProp name="ThreadGroup.main_controller"
elementType="LoopController" guiclass="LoopControlPanel"
testclass="LoopController" testname="Loop Controller" enabled="true">

          <boolProp name="LoopController.continue_forever">false</boolProp>

          <intProp name="LoopController.loops">-1</intProp>

        </elementProp>

        <stringProp name="ThreadGroup.num_threads">100</stringProp>

        <stringProp name="ThreadGroup.ramp_time">1</stringProp>

        <longProp name="ThreadGroup.start_time">1424318529000</longProp>

        <longProp name="ThreadGroup.end_time">1424318529000</longProp>

        <boolProp name="ThreadGroup.scheduler">true</boolProp>

        <stringProp name="ThreadGroup.duration">120</stringProp>

        <stringProp name="ThreadGroup.delay"></stringProp>

      </ThreadGroup>

      <hashTree>

        <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler"
testname="Debug Sampler" enabled="true">

          <boolProp name="displayJMeterProperties">false</boolProp>

          <boolProp name="displayJMeterVariables">true</boolProp>

          <boolProp name="displaySystemProperties">false</boolProp>

        </DebugSampler>

        <hashTree>

          <ConstantThroughputTimer guiclass="TestBeanGUI"
testclass="ConstantThroughputTimer" testname="Constant Throughput Timer"
enabled="true">

            <intProp name="calcMode">4</intProp>

            <doubleProp>

              <name>throughput</name>

              <value>20000.0</value>

              <savedValue>0.0</savedValue>

            </doubleProp>

          </ConstantThroughputTimer>

          <hashTree/>

        </hashTree>

      </hashTree>

    </hashTree>

  </hashTree>

</jmeterTestPlan>

 

 

 

 

> Date: Wed, 18 Feb 2015 23:26:19 +0100
> Subject: Re: Constant Throughput Timer limitation or bug?
> From: philippe.mouawad@gmail.com <ma...@gmail.com> 
> To: user@jmeter.apache.org <ma...@jmeter.apache.org> 
> 
> Hi,
> Can you provide a simple jmx file using Debug SAmpler or Test Action with
> sleep and showing issue.
> 
> On Wed, Feb 18, 2015 at 9:34 PM, Marcelo Jara <marcelojara@hotmail.com
<ma...@hotmail.com> >
> wrote:
> 
> > Thanks Philippe I did read that, but still confused when to use one over
> > the other. Do you have any examples? Maybe that would make it a little
more
> > clear.
> > However, whether the CTP is calculated based on when each thread last
ran
> > or when any thread last ran, the goal of the timer to reach the target
> > throughput. Why when using shared mode does the throughput jump from 250
> > tps to 333 tps when changing CTP from 20,000 to 20,001?
> >
> True, I don't have the full history of CTT, maybe sebb can give more
> details.
> 
> For how much time do you run your test ?
> 
> 
> Thanks again.
> > - Marcelo
> >
> > > Date: Wed, 18 Feb 2015 21:19:09 +0100
> > > Subject: Re: Constant Throughput Timer limitation or bug?
> > > From: philippe.mouawad@gmail.com <ma...@gmail.com> 
> > > To: user@jmeter.apache.org <ma...@jmeter.apache.org> 
> > >
> > > Hi,
> > > As per:
> > >
> >
http://jmeter.apache.org/usermanual/component_reference.html#Constant_Throug
hput_Timer
> > >
> > >
> > > - all active threads in current thread group - the target throughput
> > is
> > > divided amongst all the active threads in the group. Each thread will
> > delay
> > > as needed, based on when it last ran.
> > > - all active threads in current thread group (shared) - as above, but
> > > each thread is delayed based on when any thread in the group last ran.
> > >
> > > Regards
> > >
> > > On Wed, Feb 18, 2015 at 9:00 PM, Marcelo Jara <marcelojara@hotmail.com
<ma...@hotmail.com> >
> > > wrote:
> > >
> > > > Not sure why my original email's format is off.
> > > >
> > > > Updating CTP to use "all active threads in current thread group"
seems
> > to
> > > > work. Not sure why using "shared" exhibits the odd results.
> > > >
> > > >
> > > > > From: marcelojara@hotmail.com <ma...@hotmail.com> 
> > > > > To: user@jmeter.apache.org <ma...@jmeter.apache.org> 
> > > > > Subject: Constant Throughput Timer limitation or bug?
> > > > > Date: Wed, 18 Feb 2015 14:36:49 -0500
> > > > >
> > > > > I am using Jmeter 2.12 and noticed that during a test, the
> > transactions
> > > > per second was much higher than I had configured. Using a value of
> > 15000
> > > > (250 TPS) works as expected. If I go to 15001, the TPS jumps to 333.
> > Here
> > > > are some more results:
> > > > CTP = 15000, expected = 250 tps, result 250 tpsCTP = 15001, expected
=
> > 250
> > > > tps, result 333 tps
> > > > CTP = 20000, expected = 333 tps, result 333 tpsCTP = 20001, expected
=
> > 333
> > > > tps, result 500 tps
> > > > CTP = 30000, expected = 500 tps, result 500 tpsCTP = 30001, expected
=
> > 500
> > > > tps, result 1000 tps
> > > > >
> > > > >
> > > > > I was able to create a simple test plan that exhibits the same
issue.
> > > > Thread Group (100 threads, loop forever,scheduler with duration of
60)
> > > > ---- Debug Sampler (all defaults) ---- CTP (all active
> > threads in
> > > > current thread group (shared)
> > > > >
> > > > >
> > > > > Anyone else run into this?
> > > > > Thanks,
> > > > > Marcelo
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Cordialement.
> > > Philippe Mouawad.
> >
> >
> 
> 
> 
> -- 
> Cordialement.
> Philippe Mouawad.


RE: Constant Throughput Timer limitation or bug?

Posted by Marcelo Jara <ma...@hotmail.com>.
Not sure if the attachment will go through. If not here's the test plan:




<?xml version="1.0" encoding="UTF-8"?><jmeterTestPlan version="1.2" properties="2.7" jmeter="2.12 r1636949">  <hashTree>    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">      <stringProp name="TestPlan.comments"></stringProp>      <boolProp name="TestPlan.functional_mode">false</boolProp>      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">        <collectionProp name="Arguments.arguments"/>      </elementProp>      <stringProp name="TestPlan.user_define_classpath"></stringProp>    </TestPlan>    <hashTree>      <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="true">        <boolProp name="ResultCollector.error_logging">false</boolProp>        <objProp>          <name>saveConfig</name>          <value class="SampleSaveConfiguration">            <time>true</time>            <latency>true</latency>            <timestamp>true</timestamp>            <success>true</success>            <label>true</label>            <code>true</code>            <message>true</message>            <threadName>true</threadName>            <dataType>true</dataType>            <encoding>false</encoding>            <assertions>true</assertions>            <subresults>true</subresults>            <responseData>false</responseData>            <samplerData>false</samplerData>            <xml>false</xml>            <fieldNames>true</fieldNames>            <responseHeaders>false</responseHeaders>            <requestHeaders>false</requestHeaders>            <responseDataOnError>false</responseDataOnError>            <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>            <assertionsResultsToSave>0</assertionsResultsToSave>            <bytes>true</bytes>            <threadCounts>true</threadCounts>          </value>        </objProp>        <stringProp name="filename"></stringProp>      </ResultCollector>      <hashTree/>      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">          <boolProp name="LoopController.continue_forever">false</boolProp>          <intProp name="LoopController.loops">-1</intProp>        </elementProp>        <stringProp name="ThreadGroup.num_threads">100</stringProp>        <stringProp name="ThreadGroup.ramp_time">1</stringProp>        <longProp name="ThreadGroup.start_time">1424318529000</longProp>        <longProp name="ThreadGroup.end_time">1424318529000</longProp>        <boolProp name="ThreadGroup.scheduler">true</boolProp>        <stringProp name="ThreadGroup.duration">120</stringProp>        <stringProp name="ThreadGroup.delay"></stringProp>      </ThreadGroup>      <hashTree>        <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">          <boolProp name="displayJMeterProperties">false</boolProp>          <boolProp name="displayJMeterVariables">true</boolProp>          <boolProp name="displaySystemProperties">false</boolProp>        </DebugSampler>        <hashTree>          <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="Constant Throughput Timer" enabled="true">            <intProp name="calcMode">4</intProp>            <doubleProp>              <name>throughput</name>              <value>20000.0</value>              <savedValue>0.0</savedValue>            </doubleProp>          </ConstantThroughputTimer>          <hashTree/>        </hashTree>      </hashTree>    </hashTree>  </hashTree></jmeterTestPlan>



> Date: Wed, 18 Feb 2015 23:26:19 +0100
> Subject: Re: Constant Throughput Timer limitation or bug?
> From: philippe.mouawad@gmail.com
> To: user@jmeter.apache.org
> 
> Hi,
> Can you provide a simple jmx file using Debug SAmpler or Test Action with
> sleep and showing issue.
> 
> On Wed, Feb 18, 2015 at 9:34 PM, Marcelo Jara <ma...@hotmail.com>
> wrote:
> 
> > Thanks Philippe I did read that, but still confused when to use one over
> > the other. Do you have any examples? Maybe that would make it a little more
> > clear.
> > However, whether the CTP is calculated based on when each thread last ran
> > or when any thread last ran, the goal of the timer to reach the target
> > throughput. Why when using shared mode does the throughput jump from 250
> > tps to 333 tps when changing CTP from 20,000 to 20,001?
> >
> True, I don't have the full history of CTT, maybe sebb can give more
> details.
> 
> For how much time do you run your test ?
> 
> 
> Thanks again.
> > - Marcelo
> >
> > > Date: Wed, 18 Feb 2015 21:19:09 +0100
> > > Subject: Re: Constant Throughput Timer limitation or bug?
> > > From: philippe.mouawad@gmail.com
> > > To: user@jmeter.apache.org
> > >
> > > Hi,
> > > As per:
> > >
> > http://jmeter.apache.org/usermanual/component_reference.html#Constant_Throughput_Timer
> > >
> > >
> > >    - all active threads in current thread group - the target throughput
> > is
> > >    divided amongst all the active threads in the group. Each thread will
> > delay
> > >    as needed, based on when it last ran.
> > >    - all active threads in current thread group (shared) - as above, but
> > >    each thread is delayed based on when any thread in the group last ran.
> > >
> > > Regards
> > >
> > > On Wed, Feb 18, 2015 at 9:00 PM, Marcelo Jara <ma...@hotmail.com>
> > > wrote:
> > >
> > > > Not sure why my original email's format is off.
> > > >
> > > > Updating CTP to use "all active threads in current thread group" seems
> > to
> > > > work. Not sure why using "shared" exhibits the odd results.
> > > >
> > > >
> > > > > From: marcelojara@hotmail.com
> > > > > To: user@jmeter.apache.org
> > > > > Subject: Constant Throughput Timer limitation or bug?
> > > > > Date: Wed, 18 Feb 2015 14:36:49 -0500
> > > > >
> > > > > I am using Jmeter 2.12 and noticed that during a test, the
> > transactions
> > > > per second was much higher than I had configured. Using a value of
> > 15000
> > > > (250 TPS) works as expected. If I go to 15001, the TPS jumps to 333.
> > Here
> > > > are some more results:
> > > > CTP = 15000, expected = 250 tps, result 250 tpsCTP = 15001, expected =
> > 250
> > > > tps, result 333 tps
> > > > CTP = 20000, expected = 333 tps, result 333 tpsCTP = 20001, expected =
> > 333
> > > > tps, result 500 tps
> > > > CTP = 30000, expected = 500 tps, result 500 tpsCTP = 30001, expected =
> > 500
> > > > tps, result 1000 tps
> > > > >
> > > > >
> > > > > I was able to create a simple test plan that exhibits the same issue.
> > > > Thread Group (100 threads, loop forever,scheduler with duration of 60)
> > > >    ---- Debug Sampler (all defaults)        ---- CTP (all active
> > threads in
> > > > current thread group (shared)
> > > > >
> > > > >
> > > > > Anyone else run into this?
> > > > > Thanks,
> > > > > Marcelo
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Cordialement.
> > > Philippe Mouawad.
> >
> >
> 
> 
> 
> -- 
> Cordialement.
> Philippe Mouawad.
 		 	   		  

Re: Constant Throughput Timer limitation or bug?

Posted by Philippe Mouawad <ph...@gmail.com>.
Hi,
Can you provide a simple jmx file using Debug SAmpler or Test Action with
sleep and showing issue.

On Wed, Feb 18, 2015 at 9:34 PM, Marcelo Jara <ma...@hotmail.com>
wrote:

> Thanks Philippe I did read that, but still confused when to use one over
> the other. Do you have any examples? Maybe that would make it a little more
> clear.
> However, whether the CTP is calculated based on when each thread last ran
> or when any thread last ran, the goal of the timer to reach the target
> throughput. Why when using shared mode does the throughput jump from 250
> tps to 333 tps when changing CTP from 20,000 to 20,001?
>
True, I don't have the full history of CTT, maybe sebb can give more
details.

For how much time do you run your test ?


Thanks again.
> - Marcelo
>
> > Date: Wed, 18 Feb 2015 21:19:09 +0100
> > Subject: Re: Constant Throughput Timer limitation or bug?
> > From: philippe.mouawad@gmail.com
> > To: user@jmeter.apache.org
> >
> > Hi,
> > As per:
> >
> http://jmeter.apache.org/usermanual/component_reference.html#Constant_Throughput_Timer
> >
> >
> >    - all active threads in current thread group - the target throughput
> is
> >    divided amongst all the active threads in the group. Each thread will
> delay
> >    as needed, based on when it last ran.
> >    - all active threads in current thread group (shared) - as above, but
> >    each thread is delayed based on when any thread in the group last ran.
> >
> > Regards
> >
> > On Wed, Feb 18, 2015 at 9:00 PM, Marcelo Jara <ma...@hotmail.com>
> > wrote:
> >
> > > Not sure why my original email's format is off.
> > >
> > > Updating CTP to use "all active threads in current thread group" seems
> to
> > > work. Not sure why using "shared" exhibits the odd results.
> > >
> > >
> > > > From: marcelojara@hotmail.com
> > > > To: user@jmeter.apache.org
> > > > Subject: Constant Throughput Timer limitation or bug?
> > > > Date: Wed, 18 Feb 2015 14:36:49 -0500
> > > >
> > > > I am using Jmeter 2.12 and noticed that during a test, the
> transactions
> > > per second was much higher than I had configured. Using a value of
> 15000
> > > (250 TPS) works as expected. If I go to 15001, the TPS jumps to 333.
> Here
> > > are some more results:
> > > CTP = 15000, expected = 250 tps, result 250 tpsCTP = 15001, expected =
> 250
> > > tps, result 333 tps
> > > CTP = 20000, expected = 333 tps, result 333 tpsCTP = 20001, expected =
> 333
> > > tps, result 500 tps
> > > CTP = 30000, expected = 500 tps, result 500 tpsCTP = 30001, expected =
> 500
> > > tps, result 1000 tps
> > > >
> > > >
> > > > I was able to create a simple test plan that exhibits the same issue.
> > > Thread Group (100 threads, loop forever,scheduler with duration of 60)
> > >    ---- Debug Sampler (all defaults)        ---- CTP (all active
> threads in
> > > current thread group (shared)
> > > >
> > > >
> > > > Anyone else run into this?
> > > > Thanks,
> > > > Marcelo
> > >
> > >
> >
> >
> >
> > --
> > Cordialement.
> > Philippe Mouawad.
>
>



-- 
Cordialement.
Philippe Mouawad.

RE: Constant Throughput Timer limitation or bug?

Posted by Marcelo Jara <ma...@hotmail.com>.
Thanks Philippe I did read that, but still confused when to use one over the other. Do you have any examples? Maybe that would make it a little more clear.  
However, whether the CTP is calculated based on when each thread last ran or when any thread last ran, the goal of the timer to reach the target throughput. Why when using shared mode does the throughput jump from 250 tps to 333 tps when changing CTP from 20,000 to 20,001? 
Thanks again.
- Marcelo

> Date: Wed, 18 Feb 2015 21:19:09 +0100
> Subject: Re: Constant Throughput Timer limitation or bug?
> From: philippe.mouawad@gmail.com
> To: user@jmeter.apache.org
> 
> Hi,
> As per:
> http://jmeter.apache.org/usermanual/component_reference.html#Constant_Throughput_Timer
> 
> 
>    - all active threads in current thread group - the target throughput is
>    divided amongst all the active threads in the group. Each thread will delay
>    as needed, based on when it last ran.
>    - all active threads in current thread group (shared) - as above, but
>    each thread is delayed based on when any thread in the group last ran.
> 
> Regards
> 
> On Wed, Feb 18, 2015 at 9:00 PM, Marcelo Jara <ma...@hotmail.com>
> wrote:
> 
> > Not sure why my original email's format is off.
> >
> > Updating CTP to use "all active threads in current thread group" seems to
> > work. Not sure why using "shared" exhibits the odd results.
> >
> >
> > > From: marcelojara@hotmail.com
> > > To: user@jmeter.apache.org
> > > Subject: Constant Throughput Timer limitation or bug?
> > > Date: Wed, 18 Feb 2015 14:36:49 -0500
> > >
> > > I am using Jmeter 2.12 and noticed that during a test, the transactions
> > per second was much higher than I had configured. Using a value of 15000
> > (250 TPS) works as expected. If I go to 15001, the TPS jumps to 333. Here
> > are some more results:
> > CTP = 15000, expected = 250 tps, result 250 tpsCTP = 15001, expected = 250
> > tps, result 333 tps
> > CTP = 20000, expected = 333 tps, result 333 tpsCTP = 20001, expected = 333
> > tps, result 500 tps
> > CTP = 30000, expected = 500 tps, result 500 tpsCTP = 30001, expected = 500
> > tps, result 1000 tps
> > >
> > >
> > > I was able to create a simple test plan that exhibits the same issue.
> > Thread Group (100 threads, loop forever,scheduler with duration of 60)
> >    ---- Debug Sampler (all defaults)        ---- CTP (all active threads in
> > current thread group (shared)
> > >
> > >
> > > Anyone else run into this?
> > > Thanks,
> > > Marcelo
> >
> >
> 
> 
> 
> -- 
> Cordialement.
> Philippe Mouawad.
 		 	   		  

Re: Constant Throughput Timer limitation or bug?

Posted by Philippe Mouawad <ph...@gmail.com>.
Hi,
As per:
http://jmeter.apache.org/usermanual/component_reference.html#Constant_Throughput_Timer


   - all active threads in current thread group - the target throughput is
   divided amongst all the active threads in the group. Each thread will delay
   as needed, based on when it last ran.
   - all active threads in current thread group (shared) - as above, but
   each thread is delayed based on when any thread in the group last ran.

Regards

On Wed, Feb 18, 2015 at 9:00 PM, Marcelo Jara <ma...@hotmail.com>
wrote:

> Not sure why my original email's format is off.
>
> Updating CTP to use "all active threads in current thread group" seems to
> work. Not sure why using "shared" exhibits the odd results.
>
>
> > From: marcelojara@hotmail.com
> > To: user@jmeter.apache.org
> > Subject: Constant Throughput Timer limitation or bug?
> > Date: Wed, 18 Feb 2015 14:36:49 -0500
> >
> > I am using Jmeter 2.12 and noticed that during a test, the transactions
> per second was much higher than I had configured. Using a value of 15000
> (250 TPS) works as expected. If I go to 15001, the TPS jumps to 333. Here
> are some more results:
> CTP = 15000, expected = 250 tps, result 250 tpsCTP = 15001, expected = 250
> tps, result 333 tps
> CTP = 20000, expected = 333 tps, result 333 tpsCTP = 20001, expected = 333
> tps, result 500 tps
> CTP = 30000, expected = 500 tps, result 500 tpsCTP = 30001, expected = 500
> tps, result 1000 tps
> >
> >
> > I was able to create a simple test plan that exhibits the same issue.
> Thread Group (100 threads, loop forever,scheduler with duration of 60)
>    ---- Debug Sampler (all defaults)        ---- CTP (all active threads in
> current thread group (shared)
> >
> >
> > Anyone else run into this?
> > Thanks,
> > Marcelo
>
>



-- 
Cordialement.
Philippe Mouawad.

RE: Constant Throughput Timer limitation or bug?

Posted by Marcelo Jara <ma...@hotmail.com>.
Not sure why my original email's format is off. 

Updating CTP to use "all active threads in current thread group" seems to work. Not sure why using "shared" exhibits the odd results.


> From: marcelojara@hotmail.com
> To: user@jmeter.apache.org
> Subject: Constant Throughput Timer limitation or bug?
> Date: Wed, 18 Feb 2015 14:36:49 -0500
> 
> I am using Jmeter 2.12 and noticed that during a test, the transactions per second was much higher than I had configured. Using a value of 15000 (250 TPS) works as expected. If I go to 15001, the TPS jumps to 333. Here are some more results:
CTP = 15000, expected = 250 tps, result 250 tpsCTP = 15001, expected = 250 tps, result 333 tps
CTP = 20000, expected = 333 tps, result 333 tpsCTP = 20001, expected = 333 tps, result 500 tps
CTP = 30000, expected = 500 tps, result 500 tpsCTP = 30001, expected = 500 tps, result 1000 tps
> 
> 
> I was able to create a simple test plan that exhibits the same issue. 
Thread Group (100 threads, loop forever,scheduler with duration of 60)       ---- Debug Sampler (all defaults)        ---- CTP (all active threads in current thread group (shared)
> 
> 
> Anyone else run into this? 
> Thanks,
> Marcelo