jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcelo Jara <marceloj...@hotmail.com>
Subject RE: Constant Throughput Timer limitation or bug?
Date Thu, 19 Feb 2015 04:07:19 GMT
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 <marcelojara@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 <marcelojara@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.
 		 	   		  
Mime
View raw message