jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: inconsistent timing with JMeterContextService.getNumberOfThreads and thread startup
Date Wed, 08 Oct 2008 23:51:03 GMT
On 09/10/2008, Steve Kapinos <Steve.Kapinos@tandberg.com> wrote:
> I'm trying with a test action with a pause in the existing solution
>  now.. I'll see how reliable it is.  Does this variable delay in thread
>  startup surprise you at all?

No.

>  Or is it simply because the include
>  controller doesn't really wait at all for its test plan to load up the
>  main test plan just continues on?

No.

>  In your example..
>
>
>  Thread Group Monitor (loop=1)
>  + Test Action (pause)
>  + While Threads > 1
>  + + Simple Controller
>  + + + Samplers
>
>
> So suggesting to use while controller with condition
>
> ${__BeanShell(org.apache.jmeter.threads.JMeterContextService.getNumberOf
>  Threads()>1)}

Yes.

>
> And letting the while controller loop through the samplers rather then
>  using the while controller to trigger the test action.  Correct?
>

Yes.

>  -Steve
>
>
>
>  -----Original Message-----
>  From: sebb [mailto:sebbaz@gmail.com]
>  Sent: Wednesday, October 08, 2008 6:47 PM
>  To: JMeter Users List
>  Subject: Re: inconsistent timing with
>  JMeterContextService.getNumberOfThreads and thread startup
>
>  On 08/10/2008, Steve Kapinos <Steve.Kapinos@tandberg.com> wrote:
>  > I have a test plan as follows with jmeter v2.3.2
>  >
>  >  ThreadGroup1
>  >   - include controller
>  >  ThreadGroup2
>  >   - include controller
>  >  ThreadGroup3
>  >   - include controller
>  >  Monitoring Thread Group (loop forever)
>  >   - UDV
>  >   - UDV
>  >   - While Controller =
>  >
>  ${__BeanShell(org.apache.jmeter.threads.JMeterContextService.getNumberOf
>  >  Threads()==1)}
>  >     - Test Action - Stop current thread
>  >   - Simple Controller
>  >    - samplers
>  >
>  >  The first three include controllers are running individual tests with
>  >  lots of threads.  The Monitoring thread group is intended to run and
>  >  loop forever while the first three thread groups are running until
>  they
>  >  finish.  When they finish, the Monitoring Thread will be the only
>  thread
>  >  running and hence the While Controller will kick in and stop its
>  thread,
>  >  and therefore the test will be finished.
>  >
>  >  I thought it was working perfectly, but I found in some of my runs of
>  >  the test, the while test seemed to be kicking off immediately,
>  killing
>  >  the monitoring thread.
>  >
>  >  I use the same test with two different sets of inputs which scale how
>  >  many threads the included scripts use.  It was pretty consistent that
>  >  one set worked, while another did not.
>  >
>  >  The problem seems to be the monitoring thread group starting before
>  the
>  >  threads from the included controller fire up.  Is there a consistent
>  way
>  >  I can push this while controller check back?  If I put a timer in the
>  >  Monitoring Thread Group before the while controller, will that timer
>  >  execute before the while check is evaluated?
>
>  No. Timers only apply to Samplers.
>
>  However, you can add a TestAction sampler before the While Loop.
>
>  It looks like the While Controller is being used as an If controller,
>  presumably so you can use BeanShell rather than Javascript.
>
>  It might be cleaner to do:
>
>  Thread Group Monitor (loop=1)
>  + Test Action (pause)
>  + While Threads > 1
>  + + Simple Controller
>  + + + Samplers
>
>  >  I don't have a log of the failure anymore, but below is what it looks
>  >  like when it works..   When it fails the
>  'jmeter.threads.JMeterThread:
>  >  Thread Monitoring Thread 7-1 started ' Appears in the log before the
>  >  lines like ' jmeter.threads.JMeterThread: Thread MPS Thread Group 2-1
>  >  started'
>  >
>  >  2008/10/08 23:39:55 INFO  - jmeter.JMeter: Running test
>  (1223501995752)
>  >  2008/10/08 23:39:55 INFO  - jmeter.engine.StandardJMeterEngine:
>  Starting
>  >  1 threads for group MCU Calls. Ramp up = 1.
>  >  2008/10/08 23:39:55 INFO  - jmeter.engine.StandardJMeterEngine:
>  Continue
>  >  on error
>  >  2008/10/08 23:39:55 INFO  - jmeter.threads.JMeterThread:
>  >  jmeterthread.startearlier=true (see jmeter.properties)
>  >  2008/10/08 23:39:55 INFO  - jmeter.threads.JMeterThread: Running
>  >  PostProcessors in forward order
>  >  2008/10/08 23:39:55 INFO  - jmeter.control.IncludeController:
>  >  loadIncludedElements -- try to load included module:
>  >  mps-calllog-generator.jmx
>  >  2008/10/08 23:39:55 INFO  - jmeter.engine.StandardJMeterEngine:
>  Starting
>  >  3 threads for group MPS Thread Group. Ramp up = 10.
>  >  2008/10/08 23:39:55 INFO  - jmeter.engine.StandardJMeterEngine:
>  Continue
>  >  on error
>  >  2008/10/08 23:39:55 INFO  - jmeter.threads.JMeterThread: Thread MCU
>  >  Calls 1-1 started
>  >  2008/10/08 23:39:55 INFO  - jmeter.threads.JMeterThread: Thread MCU
>  >  Calls 1-1 is done
>  >  2008/10/08 23:39:55 INFO  - jmeter.engine.StandardJMeterEngine:
>  Ending
>  >  thread MCU Calls 1-1
>  >  2008/10/08 23:39:55 INFO  - jmeter.engine.StandardJMeterEngine:
>  Starting
>  >  1 threads for group PTP Calls. Ramp up = 1.
>  >  2008/10/08 23:39:55 INFO  - jmeter.engine.StandardJMeterEngine:
>  Continue
>  >  on error
>  >  2008/10/08 23:39:55 INFO  - jmeter.control.IncludeController:
>  >  loadIncludedElements -- try to load included module:
>  >  ptp-calllog-generator.jmx
>  >  2008/10/08 23:39:55 INFO  - jmeter.engine.StandardJMeterEngine:
>  Starting
>  >  25 threads for group PTP Thread Group. Ramp up = 10.
>  >  2008/10/08 23:39:55 INFO  - jmeter.engine.StandardJMeterEngine:
>  Continue
>  >  on error
>  >  2008/10/08 23:39:55 INFO  - jmeter.engine.StandardJMeterEngine:
>  Starting
>  >  1 threads for group VCS Calls. Ramp up = 1.
>  >  2008/10/08 23:39:55 INFO  - jmeter.engine.StandardJMeterEngine:
>  Continue
>  >  on error
>  >  2008/10/08 23:39:55 INFO  - jmeter.control.IncludeController:
>  >  loadIncludedElements -- try to load included module:
>  >  vcs-calllog-generator.jmx
>  >  2008/10/08 23:39:55 INFO  - jmeter.engine.StandardJMeterEngine:
>  Starting
>  >  40 threads for group VCS Thread Group. Ramp up = 10.
>  >  2008/10/08 23:39:55 INFO  - jmeter.engine.StandardJMeterEngine:
>  Continue
>  >  on error
>  >  2008/10/08 23:39:55 INFO  - jmeter.threads.JMeterThread: Thread MPS
>  >  Thread Group 2-1 started
>  >  2008/10/08 23:39:55 INFO  - jmeter.services.FileServer: Stored:
>  >  mps-list.csv
>  >  2008/10/08 23:39:55 INFO  - jmeter.threads.JMeterThread: Thread PTP
>  >  Calls 3-1 started
>  >  2008/10/08 23:39:55 INFO  - jmeter.threads.JMeterThread: Thread PTP
>  >  Calls 3-1 is done
>  >  2008/10/08 23:39:55 INFO  - jmeter.engine.StandardJMeterEngine:
>  Ending
>  >  thread PTP Calls 3-1
>  >  2008/10/08 23:39:55 INFO  - jmeter.threads.JMeterThread: Thread PTP
>  >  Thread Group 4-1 started
>  >  2008/10/08 23:39:55 INFO  - jmeter.services.FileServer: Stored:
>  >  codec-list.csv
>  >  2008/10/08 23:39:56 INFO  - jmeter.engine.StandardJMeterEngine:
>  Starting
>  >  1 threads for group Monitoring Thread. Ramp up = 1.
>  >  2008/10/08 23:39:56 INFO  - jmeter.engine.StandardJMeterEngine:
>  Continue
>  >  on error
>  >  2008/10/08 23:39:56 INFO  - jmeter.engine.StandardJMeterEngine:
>  Continue
>  >  on error
>  >  2008/10/08 23:39:56 INFO  - jmeter.threads.JMeterThread: Thread VCS
>  >  Thread Group 6-1 started
>  >  2008/10/08 23:39:56 INFO  - jmeter.services.FileServer: Stored:
>  >  VCS-list.csv
>  >  2008/10/08 23:39:56 INFO  - jmeter.threads.JMeterThread: Thread VCS
>  >  Calls 5-1 started
>  >  2008/10/08 23:39:56 INFO  - jmeter.threads.JMeterThread: Thread VCS
>  >  Calls 5-1 is done
>  >  2008/10/08 23:39:56 INFO  - jmeter.engine.StandardJMeterEngine:
>  Ending
>  >  thread VCS Calls 5-1
>  >  2008/10/08 23:39:56 INFO  - jmeter.threads.JMeterThread: Thread
>  >  Monitoring Thread 7-1 started
>  >
>  >
>  >
>  >
>  >
>  >  Steve Kapinos
>  >  Solution Developer - R&D
>  >  TANDBERG
>  >
>  >  Phone:    +1 703 7094272
>  >  Video:    steve.kapinos@tandberg.com
>  >  E-mail:   steve.kapinos@tandberg.com
>  >
>  >  1860 Michael Faraday Dr
>  >  Reston, VA 20190, USA
>  >
>  >  www.tandberg.com
>  >
>  >
>  >  ---------------------------------------------------------------------
>  >  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
>
>

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


Mime
View raw message