Return-Path: X-Original-To: apmail-jmeter-user-archive@www.apache.org Delivered-To: apmail-jmeter-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id AEAB717A95 for ; Thu, 19 Feb 2015 04:07:53 +0000 (UTC) Received: (qmail 31168 invoked by uid 500); 19 Feb 2015 04:07:48 -0000 Delivered-To: apmail-jmeter-user-archive@jmeter.apache.org Received: (qmail 31133 invoked by uid 500); 19 Feb 2015 04:07:48 -0000 Mailing-List: contact user-help@jmeter.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "JMeter Users List" Delivered-To: mailing list user@jmeter.apache.org Received: (qmail 31120 invoked by uid 99); 19 Feb 2015 04:07:48 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Feb 2015 04:07:48 +0000 X-ASF-Spam-Status: No, hits=3.2 required=5.0 tests=FREEMAIL_REPLY,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of marcelojara@hotmail.com designates 65.55.34.79 as permitted sender) Received: from [65.55.34.79] (HELO COL004-OMC2S5.hotmail.com) (65.55.34.79) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Feb 2015 04:07:41 +0000 Received: from COL129-W70 ([65.55.34.71]) by COL004-OMC2S5.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.22751); Wed, 18 Feb 2015 20:07:20 -0800 X-TMN: [kVq2iIux8Xi9sI0ypYO4Og6yuhuy8vEIEa8rB1KH3+w=] X-Originating-Email: [marcelojara@hotmail.com] Message-ID: Content-Type: multipart/mixed; boundary="_c88dee10-7edf-47e5-815a-2480939d73a4_" From: Marcelo Jara To: JMeter Users List Subject: RE: Constant Throughput Timer limitation or bug? Date: Wed, 18 Feb 2015 23:07:19 -0500 Importance: Normal In-Reply-To: References: ,,,, MIME-Version: 1.0 X-OriginalArrivalTime: 19 Feb 2015 04:07:20.0402 (UTC) FILETIME=[8E88E320:01D04BF9] X-Virus-Checked: Checked by ClamAV on apache.org --_c88dee10-7edf-47e5-815a-2480939d73a4_ Content-Type: multipart/alternative; boundary="_7370c546-127c-4051-9d0a-b52d912636ef_" --_7370c546-127c-4051-9d0a-b52d912636ef_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Not sure if the attachment will go through. If not here's the test plan: false false false saveConfig = = true true = true = true true true true false true true false = false false = true false false <= responseDataOnError>false true 0 true true = = continue = false -1 100 1 1424318529000 1424318529000 true 120<= /stringProp> = false = true false 4 throughput = 20000.0 0.0 = = > Date: Wed=2C 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 >=20 > Hi=2C > Can you provide a simple jmx file using Debug SAmpler or Test Action with > sleep and showing issue. >=20 > On Wed=2C Feb 18=2C 2015 at 9:34 PM=2C Marcelo Jara > wrote: >=20 > > Thanks Philippe I did read that=2C but still confused when to use one o= ver > > the other. Do you have any examples? Maybe that would make it a little = more > > clear. > > However=2C whether the CTP is calculated based on when each thread last= ran > > or when any thread last ran=2C the goal of the timer to reach the targe= t > > throughput. Why when using shared mode does the throughput jump from 25= 0 > > tps to 333 tps when changing CTP from 20=2C000 to 20=2C001? > > > True=2C I don't have the full history of CTT=2C maybe sebb can give more > details. >=20 > For how much time do you run your test ? >=20 >=20 > Thanks again. > > - Marcelo > > > > > Date: Wed=2C 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=2C > > > As per: > > > > > http://jmeter.apache.org/usermanual/component_reference.html#Constant_T= hroughput_Timer > > > > > > > > > - all active threads in current thread group - the target throughp= ut > > is > > > divided amongst all the active threads in the group. Each thread w= ill > > delay > > > as needed=2C based on when it last ran. > > > - all active threads in current thread group (shared) - as above= =2C but > > > each thread is delayed based on when any thread in the group last = ran. > > > > > > Regards > > > > > > On Wed=2C Feb 18=2C 2015 at 9:00 PM=2C Marcelo Jara > > > wrote: > > > > > > > Not sure why my original email's format is off. > > > > > > > > Updating CTP to use "all active threads in current thread group" se= ems > > 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=2C 18 Feb 2015 14:36:49 -0500 > > > > > > > > > > I am using Jmeter 2.12 and noticed that during a test=2C 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=2C the TPS jumps to 3= 33. > > Here > > > > are some more results: > > > > CTP =3D 15000=2C expected =3D 250 tps=2C result 250 tpsCTP =3D 1500= 1=2C expected =3D > > 250 > > > > tps=2C result 333 tps > > > > CTP =3D 20000=2C expected =3D 333 tps=2C result 333 tpsCTP =3D 2000= 1=2C expected =3D > > 333 > > > > tps=2C result 500 tps > > > > CTP =3D 30000=2C expected =3D 500 tps=2C result 500 tpsCTP =3D 3000= 1=2C expected =3D > > 500 > > > > tps=2C result 1000 tps > > > > > > > > > > > > > > > I was able to create a simple test plan that exhibits the same is= sue. > > > > Thread Group (100 threads=2C loop forever=2Cscheduler with duration= of 60) > > > > ---- Debug Sampler (all defaults) ---- CTP (all active > > threads in > > > > current thread group (shared) > > > > > > > > > > > > > > > Anyone else run into this? > > > > > Thanks=2C > > > > > Marcelo > > > > > > > > > > > > > > > > > > > > -- > > > Cordialement. > > > Philippe Mouawad. > > > > >=20 >=20 >=20 > --=20 > Cordialement. > Philippe Mouawad. = --_7370c546-127c-4051-9d0a-b52d912636ef_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Not sure if the attachment will = go through. If not here's the test plan:


=


<=3B?xml version=3D"1.0= " encoding=3D"UTF-8"?>=3B
<=3BjmeterTestPlan version=3D"1.2" = properties=3D"2.7" jmeter=3D"2.12 r1636949">=3B
 =3B <=3B= hashTree>=3B
 =3B  =3B <=3BTestPlan guiclass=3D"TestP= lanGui" testclass=3D"TestPlan" testname=3D"Test Plan" enabled=3D"true">= =3B
 =3B  =3B  =3B <=3BstringProp name=3D"TestPlan.= comments">=3B<=3B/stringProp>=3B
 =3B  =3B  =3B= <=3BboolProp name=3D"TestPlan.functional_mode">=3Bfalse<=3B/boolProp= >=3B
 =3B  =3B  =3B <=3BboolProp name=3D"TestPlan= .serialize_threadgroups">=3Bfalse<=3B/boolProp>=3B
 =3B=  =3B  =3B <=3BelementProp name=3D"TestPlan.user_defined_variable= s" elementType=3D"Arguments" guiclass=3D"ArgumentsPanel" testclass=3D"Argum= ents" testname=3D"User Defined Variables" enabled=3D"true">=3B
=  =3B  =3B  =3B  =3B <=3BcollectionProp name=3D"Arguments.= arguments"/>=3B
 =3B  =3B  =3B <=3B/elementProp&g= t=3B
 =3B  =3B  =3B <=3BstringProp name=3D"TestPlan= .user_define_classpath">=3B<=3B/stringProp>=3B
 =3B &nb= sp=3B <=3B/TestPlan>=3B
 =3B  =3B <=3BhashTree>= =3B
 =3B  =3B  =3B <=3BResultCollector guiclass=3D"= SummaryReport" testclass=3D"ResultCollector" testname=3D"Summary Report" en= abled=3D"true">=3B
 =3B  =3B  =3B  =3B <=3Bbo= olProp name=3D"ResultCollector.error_logging">=3Bfalse<=3B/boolProp>= =3B
 =3B  =3B  =3B  =3B <=3BobjProp>=3B
=
 =3B  =3B  =3B  =3B  =3B <=3Bname>=3BsaveConfi= g<=3B/name>=3B
 =3B  =3B  =3B  =3B  =3B &= lt=3Bvalue class=3D"SampleSaveConfiguration">=3B
 =3B  = =3B  =3B  =3B  =3B  =3B <=3Btime>=3Btrue<=3B/time>= =3B
 =3B  =3B  =3B  =3B  =3B  =3B <=3Bl= atency>=3Btrue<=3B/latency>=3B
 =3B  =3B  =3B &= nbsp=3B  =3B  =3B <=3Btimestamp>=3Btrue<=3B/timestamp>=3B
 =3B  =3B  =3B  =3B  =3B  =3B <=3Bsucces= s>=3Btrue<=3B/success>=3B
 =3B  =3B  =3B  = =3B  =3B  =3B <=3Blabel>=3Btrue<=3B/label>=3B
&nb= sp=3B  =3B  =3B  =3B  =3B  =3B <=3Bcode>=3Btrue<= =3B/code>=3B
 =3B  =3B  =3B  =3B  =3B  = =3B <=3Bmessage>=3Btrue<=3B/message>=3B
 =3B  =3B=  =3B  =3B  =3B  =3B <=3BthreadName>=3Btrue<=3B/threa= dName>=3B
 =3B  =3B  =3B  =3B  =3B  =3B= <=3BdataType>=3Btrue<=3B/dataType>=3B
 =3B  =3B =  =3B  =3B  =3B  =3B <=3Bencoding>=3Bfalse<=3B/encodin= g>=3B
 =3B  =3B  =3B  =3B  =3B  =3B <= =3Bassertions>=3Btrue<=3B/assertions>=3B
 =3B  =3B =  =3B  =3B  =3B  =3B <=3Bsubresults>=3Btrue<=3B/subres= ults>=3B
 =3B  =3B  =3B  =3B  =3B  =3B = <=3BresponseData>=3Bfalse<=3B/responseData>=3B
 =3B &= nbsp=3B  =3B  =3B  =3B  =3B <=3BsamplerData>=3Bfalse<= =3B/samplerData>=3B
 =3B  =3B  =3B  =3B  = =3B  =3B <=3Bxml>=3Bfalse<=3B/xml>=3B
 =3B  = =3B  =3B  =3B  =3B  =3B <=3BfieldNames>=3Btrue<=3B/fi= eldNames>=3B
 =3B  =3B  =3B  =3B  =3B  = =3B <=3BresponseHeaders>=3Bfalse<=3B/responseHeaders>=3B
=  =3B  =3B  =3B  =3B  =3B  =3B <=3BrequestHeaders&= gt=3Bfalse<=3B/requestHeaders>=3B
 =3B  =3B  =3B =  =3B  =3B  =3B <=3BresponseDataOnError>=3Bfalse<=3B/respo= nseDataOnError>=3B
 =3B  =3B  =3B  =3B  =3B=  =3B <=3BsaveAssertionResultsFailureMessage>=3Btrue<=3B/saveAsse= rtionResultsFailureMessage>=3B
 =3B  =3B  =3B  = =3B  =3B  =3B <=3BassertionsResultsToSave>=3B0<=3B/assertions= ResultsToSave>=3B
 =3B  =3B  =3B  =3B  =3B =  =3B <=3Bbytes>=3Btrue<=3B/bytes>=3B
 =3B  = =3B  =3B  =3B  =3B  =3B <=3BthreadCounts>=3Btrue<=3B/= threadCounts>=3B
 =3B  =3B  =3B  =3B  =3B &= lt=3B/value>=3B
 =3B  =3B  =3B  =3B <=3B/objP= rop>=3B
 =3B  =3B  =3B  =3B <=3BstringProp na= me=3D"filename">=3B<=3B/stringProp>=3B
 =3B  =3B &n= bsp=3B <=3B/ResultCollector>=3B
 =3B  =3B  =3B &l= t=3BhashTree/>=3B
 =3B  =3B  =3B <=3BThreadGroup = guiclass=3D"ThreadGroupGui" testclass=3D"ThreadGroup" testname=3D"Thread Gr= oup" enabled=3D"true">=3B
 =3B  =3B  =3B  =3B &= lt=3BstringProp name=3D"ThreadGroup.on_sample_error">=3Bcontinue<=3B/st= ringProp>=3B
 =3B  =3B  =3B  =3B <=3BelementP= rop name=3D"ThreadGroup.main_controller" elementType=3D"LoopController" gui= class=3D"LoopControlPanel" testclass=3D"LoopController" testname=3D"Loop Co= ntroller" enabled=3D"true">=3B
 =3B  =3B  =3B  = =3B  =3B <=3BboolProp name=3D"LoopController.continue_forever">=3Bf= alse<=3B/boolProp>=3B
 =3B  =3B  =3B  =3B &nb= sp=3B <=3BintProp name=3D"LoopController.loops">=3B-1<=3B/intProp>= =3B
 =3B  =3B  =3B  =3B <=3B/elementProp>=3B<= /div>
 =3B  =3B  =3B  =3B <=3BstringProp name=3D"Thre= adGroup.num_threads">=3B100<=3B/stringProp>=3B
 =3B &nb= sp=3B  =3B  =3B <=3BstringProp name=3D"ThreadGroup.ramp_time">= =3B1<=3B/stringProp>=3B
 =3B  =3B  =3B  =3B &= lt=3BlongProp name=3D"ThreadGroup.start_time">=3B1424318529000<=3B/long= Prop>=3B
 =3B  =3B  =3B  =3B <=3BlongProp nam= e=3D"ThreadGroup.end_time">=3B1424318529000<=3B/longProp>=3B
 =3B  =3B  =3B  =3B <=3BboolProp name=3D"ThreadGroup.sc= heduler">=3Btrue<=3B/boolProp>=3B
 =3B  =3B  = =3B  =3B <=3BstringProp name=3D"ThreadGroup.duration">=3B120<=3B/= stringProp>=3B
 =3B  =3B  =3B  =3B <=3Bstring= Prop name=3D"ThreadGroup.delay">=3B<=3B/stringProp>=3B
&nbs= p=3B  =3B  =3B <=3B/ThreadGroup>=3B
 =3B  =3B=  =3B <=3BhashTree>=3B
 =3B  =3B  =3B  = =3B <=3BDebugSampler guiclass=3D"TestBeanGUI" testclass=3D"DebugSampler" = testname=3D"Debug Sampler" enabled=3D"true">=3B
 =3B  = =3B  =3B  =3B  =3B <=3BboolProp name=3D"displayJMeterProperti= es">=3Bfalse<=3B/boolProp>=3B
 =3B  =3B  =3B &n= bsp=3B  =3B <=3BboolProp name=3D"displayJMeterVariables">=3Btrue<= =3B/boolProp>=3B
 =3B  =3B  =3B  =3B  =3B &= lt=3BboolProp name=3D"displaySystemProperties">=3Bfalse<=3B/boolProp>= =3B
 =3B  =3B  =3B  =3B <=3B/DebugSampler>=3B=
 =3B  =3B  =3B  =3B <=3BhashTree>=3B
 =3B  =3B  =3B  =3B  =3B <=3BConstantThroughputTim= er guiclass=3D"TestBeanGUI" testclass=3D"ConstantThroughputTimer" testname= =3D"Constant Throughput Timer" enabled=3D"true">=3B
 =3B &n= bsp=3B  =3B  =3B  =3B  =3B <=3BintProp name=3D"calcMode"&= gt=3B4<=3B/intProp>=3B
 =3B  =3B  =3B  =3B &n= bsp=3B  =3B <=3BdoubleProp>=3B
 =3B  =3B  =3B=  =3B  =3B  =3B  =3B <=3Bname>=3Bthroughput<=3B/name&= gt=3B
 =3B  =3B  =3B  =3B  =3B  =3B  = =3B <=3Bvalue>=3B20000.0<=3B/value>=3B
 =3B  =3B =  =3B  =3B  =3B  =3B  =3B <=3BsavedValue>=3B0.0<= =3B/savedValue>=3B
 =3B  =3B  =3B  =3B  =3B=  =3B <=3B/doubleProp>=3B
 =3B  =3B  =3B &nbs= p=3B  =3B <=3B/ConstantThroughputTimer>=3B
 =3B  = =3B  =3B  =3B  =3B <=3BhashTree/>=3B
 =3B &nb= sp=3B  =3B  =3B <=3B/hashTree>=3B
 =3B  =3B &= nbsp=3B <=3B/hashTree>=3B
 =3B  =3B <=3B/hashTree&g= t=3B
 =3B <=3B/hashTree>=3B
<=3B/jmeterTestPl= an>=3B




>=3B = Date: Wed=2C 18 Feb 2015 23:26:19 +0100
>=3B Subject: Re: Constant Thr= oughput Timer limitation or bug?
>=3B From: philippe.mouawad@gmail.com=
>=3B To: user@jmeter.apache.org
>=3B
>=3B Hi=2C
>=3B = Can you provide a simple jmx file using Debug SAmpler or Test Action with>=3B sleep and showing issue.
>=3B
>=3B On Wed=2C Feb 18=2C = 2015 at 9:34 PM=2C Marcelo Jara <=3Bmarcelojara@hotmail.com>=3B
>= =3B wrote:
>=3B
>=3B >=3B Thanks Philippe I did read that=2C b= ut still confused when to use one over
>=3B >=3B the other. Do you h= ave any examples? Maybe that would make it a little more
>=3B >=3B c= lear.
>=3B >=3B However=2C whether the CTP is calculated based on wh= en each thread last ran
>=3B >=3B or when any thread last ran=2C the= goal of the timer to reach the target
>=3B >=3B throughput. Why whe= n using shared mode does the throughput jump from 250
>=3B >=3B tps = to 333 tps when changing CTP from 20=2C000 to 20=2C001?
>=3B >=3B>=3B True=2C I don't have the full history of CTT=2C maybe sebb can give= more
>=3B details.
>=3B
>=3B For how much time do you run = your test ?
>=3B
>=3B
>=3B Thanks again.
>=3B >=3B = - Marcelo
>=3B >=3B
>=3B >=3B >=3B Date: Wed=2C 18 Feb 2015= 21:19:09 +0100
>=3B >=3B >=3B Subject: Re: Constant Throughput Ti= mer limitation or bug?
>=3B >=3B >=3B From: philippe.mouawad@gmail= .com
>=3B >=3B >=3B To: user@jmeter.apache.org
>=3B >=3B &g= t=3B
>=3B >=3B >=3B Hi=2C
>=3B >=3B >=3B As per:
>= =3B >=3B >=3B
>=3B >=3B http://jmeter.apache.org/usermanual/comp= onent_reference.html#Constant_Throughput_Timer
>=3B >=3B >=3B
&= gt=3B >=3B >=3B
>=3B >=3B >=3B - all active threads in curr= ent thread group - the target throughput
>=3B >=3B is
>=3B >= =3B >=3B divided amongst all the active threads in the group. Each thr= ead will
>=3B >=3B delay
>=3B >=3B >=3B as needed=2C bas= ed on when it last ran.
>=3B >=3B >=3B - all active threads in = current thread group (shared) - as above=2C but
>=3B >=3B >=3B = each thread is delayed based on when any thread in the group last ran.
&= gt=3B >=3B >=3B
>=3B >=3B >=3B Regards
>=3B >=3B >=3B=
>=3B >=3B >=3B On Wed=2C Feb 18=2C 2015 at 9:00 PM=2C Marcelo Jar= a <=3Bmarcelojara@hotmail.com>=3B
>=3B >=3B >=3B wrote:
>= =3B >=3B >=3B
>=3B >=3B >=3B >=3B Not sure why my original e= mail's format is off.
>=3B >=3B >=3B >=3B
>=3B >=3B >= =3B >=3B Updating CTP to use "all active threads in current thread group"= seems
>=3B >=3B to
>=3B >=3B >=3B >=3B work. Not sure wh= y using "shared" exhibits the odd results.
>=3B >=3B >=3B >=3B>=3B >=3B >=3B >=3B
>=3B >=3B >=3B >=3B >=3B From: m= arcelojara@hotmail.com
>=3B >=3B >=3B >=3B >=3B To: user@jmete= r.apache.org
>=3B >=3B >=3B >=3B >=3B Subject: Constant Throug= hput Timer limitation or bug?
>=3B >=3B >=3B >=3B >=3B Date: W= ed=2C 18 Feb 2015 14:36:49 -0500
>=3B >=3B >=3B >=3B >=3B
&= gt=3B >=3B >=3B >=3B >=3B I am using Jmeter 2.12 and noticed that d= uring a test=2C the
>=3B >=3B transactions
>=3B >=3B >=3B &= gt=3B per second was much higher than I had configured. Using a value of>=3B >=3B 15000
>=3B >=3B >=3B >=3B (250 TPS) works as expe= cted. If I go to 15001=2C the TPS jumps to 333.
>=3B >=3B Here
&g= t=3B >=3B >=3B >=3B are some more results:
>=3B >=3B >=3B &g= t=3B CTP =3D 15000=2C expected =3D 250 tps=2C result 250 tpsCTP =3D 15001= =2C expected =3D
>=3B >=3B 250
>=3B >=3B >=3B >=3B tps=2C= result 333 tps
>=3B >=3B >=3B >=3B CTP =3D 20000=2C expected = =3D 333 tps=2C result 333 tpsCTP =3D 20001=2C expected =3D
>=3B >=3B= 333
>=3B >=3B >=3B >=3B tps=2C result 500 tps
>=3B >=3B = >=3B >=3B CTP =3D 30000=2C expected =3D 500 tps=2C result 500 tpsCTP = =3D 30001=2C expected =3D
>=3B >=3B 500
>=3B >=3B >=3B >= =3B tps=2C result 1000 tps
>=3B >=3B >=3B >=3B >=3B
>=3B = >=3B >=3B >=3B >=3B
>=3B >=3B >=3B >=3B >=3B I was abl= e to create a simple test plan that exhibits the same issue.
>=3B >= =3B >=3B >=3B Thread Group (100 threads=2C loop forever=2Cscheduler wit= h duration of 60)
>=3B >=3B >=3B >=3B ---- Debug Sampler (all= defaults) ---- CTP (all active
>=3B >=3B threads in
>= =3B >=3B >=3B >=3B current thread group (shared)
>=3B >=3B >= =3B >=3B >=3B
>=3B >=3B >=3B >=3B >=3B
>=3B >=3B &g= t=3B >=3B >=3B Anyone else run into this?
>=3B >=3B >=3B >= =3B >=3B Thanks=2C
>=3B >=3B >=3B >=3B >=3B Marcelo
>= =3B >=3B >=3B >=3B
>=3B >=3B >=3B >=3B
>=3B >=3B &g= t=3B
>=3B >=3B >=3B
>=3B >=3B >=3B
>=3B >=3B >= =3B --
>=3B >=3B >=3B Cordialement.
>=3B >=3B >=3B Philip= pe Mouawad.
>=3B >=3B
>=3B >=3B
>=3B
>=3B
>= =3B
>=3B --
>=3B Cordialement.
>=3B Philippe Mouawad.
<= /div>
= --_7370c546-127c-4051-9d0a-b52d912636ef_-- --_c88dee10-7edf-47e5-815a-2480939d73a4_ Content-Type: text/plain; charset=us-ascii --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org For additional commands, e-mail: user-help@jmeter.apache.org --_c88dee10-7edf-47e5-815a-2480939d73a4_--