My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
SteppingThreadGroup  

Stepping Thread Group since 0.2.0

JMeter have only one out-of-the-box option for threads (users) scheduling: simple ramp-up. But many users, especially with HP LoadRunner experience miss more flexible thread scheduling algorythm. Stepping Thread Group adds to JMeter thread scheduling similar to LoadRunner's.

In JMeter version 2.4 new plugin type was introduced: custom Thread Groups. Stepping Thread Group is the first custom thread group in the world.

Features

  • preview graph showing estimated load (see example screen below)
  • initial thread group delay to combine several thread group activities
  • increase load by portions of threads (users) with ramp-up period
  • configurable hold time after all threads started
  • decrease load by portions

Example

Download Example Test Plan

Following screenshot shows Stepping Thread Group set to generate load increasing by 10 users each 2 minutes:

Actual test run shows following activity graph:

See Also

  1. Ultimate Thread Group for freeform load profiles
Comment by Alan.Be...@uk.fujitsu.com, May 1, 2010

Is there a particular reason why the Scheduling parameters cannot be JMeter variables? In the Test Plan I'm trying this out on, I already have user variables for number of threads etc.

Comment by project member a...@apc.kg, Jun 5, 2010

Actually, they can be JMeter variables, but Preview Graph will be unable to show estimated load, because JMeter varuables are resolved in runtime by internal JMeter Engine. You can still run test with variables in scheduling parameters and see load graph with Active Threads Over Time plugin

Comment by rner...@gmail.com, Jun 15, 2010

Hello

I tried this plugin and i have to say there's something missing that is huge actually. On the stepping thread group when i say to create for example 50 threads in 120 seconds, Jmeter will create 50 threads almost at the same time. I was wondering if you could do something like a rampup so that, again for example, the 50 threads can be created in the space of 100 seconds, i.e, 120/50 =2,4 seconds to create each thread.

thank you

Comment by project member a...@apc.kg, Jun 19, 2010

Ok, you're second person who asks for such functionality, I'll send you latest snapshot with a little workaround that solves your problem. Of course, such functionality will bi shipped in future releases of JMeter Plugins

Comment by j...@europe.com, Jul 17, 2010

Hi all the jmeter community ...

another important point is the "pacing" : pause time between 2 transactions for the same thread. Be careful it's not the "think time" but the pacing. It will be wonderful to add this functionality in jmeter really. Thanks in advance for your great work.

Comment by project member a...@apc.kg, Jul 18, 2010

Hi There is pacing functionality in JMeter implemented with Timers.

Comment by kapiljai...@gmail.com, Jul 23, 2010

Hi I have installed JMeter 2.4 but I couldn't see 'Stepping Thread Group' option ? could you please suggest on this?

Comment by project member Stephane...@gmail.com, Jul 25, 2010

Excellent plugin! Thank you, you are bringing JMeter at a next level!!!! Regards,

Stephane

Comment by project member a...@apc.kg, Jul 26, 2010

Stephane, Thanks. There's Ultimate Thread Group coming soon, that's real killer

Comment by balachan...@gmail.com, Oct 13, 2010

Does it still conform to the usual JMeters default behaviour? In other words, if I setup 100 threads (This group will start 100 threads) using stepping thread group and run it in distributed mode in 2 slaves, will I be running 200 threads?.

Comment by project member a...@apc.kg, Oct 13, 2010

balachandran, you're absolutely correct

Comment by balachan...@gmail.com, Oct 13, 2010

Thanks a lot for your lightening fast answer. I love this plugin. Do you have any plans to include a scheduler to it?. Only today I realised that this does not have a scheduling option similar to the default thread group. :-)

Comment by project member a...@apc.kg, Oct 13, 2010

I don't know if it is really wanted option... Why someone needs to have scheduling?

Comment by balachan...@gmail.com, Oct 13, 2010

Thats a good question. In my current project we use commercial tools like LR and JMeter. Most of the time the environment is available only during the night for performance testing. If I need to simulate a wave like load pattern in JMeter or gradual increase/decrease of load I would use this plugin or ultimate plugin. However, I am unable to schedule the run due to lack of scheduling option.

Comment by project member a...@apc.kg, Oct 13, 2010

Why don't use OS scheduler with command line JMeter run.

BTW: "commercial tool like JMeter" LOL :)

Comment by marco.ma...@realemutua.it, Oct 21, 2010

I've got some problem with "Remote Start". The same classic thread group working perfectly from a remote server doesn't start if "converted" in Ultimate or Stepping thread group. Any idea?

Comment by project member a...@apc.kg, Oct 21, 2010

Marco, 1. Do you have Java 1.6 installed on remote machine? 2. Can you start JMeter GUI and see your test plan on remote machine to confirm that SteppingThreadGroup works on that machine?

Comment by marco.ma...@realemutua.it, Oct 21, 2010

1) Java 1.6.0_19 in my PC and in remote one (I put "java -version" in first line of JMeter.bat and JMeterServer.bat in every machine) 2) I started JMeter GUI in remote host and SteppingThreadGroup works perfectly in "local" mode 3) The same SteppingThreadGroup doesn't work in "remote" mode (launched from my PC or the remote one pointing another remote PC) 4) If I delete SteppingThreadGroup from my project and try remote execution (to the same remote host above) of a classic ThreadGroup?, all works perfectly

When I "Remote Start" nothing happens: empty "ViewResultsTree?". I send you the stack trace found in jmeter.log via email.

Comment by marco.ma...@realemutua.it, Oct 21, 2010

Problem resolved! The JMeterPlugins.jar was not present in remote installation. Thanks!

Comment by gayathri...@gmail.com, Feb 27, 2011

Hi,

Can you please explain how pacing concept is achieved through timers in jmeter?

Comment by evanphe...@gmail.com, Mar 3, 2011

Hi,

This is a fantastic addition to JMeter.

Was the "pacing" (progressive ramping up of the steps)option implemented in the end? I have the latest plugin version but I don't see an option to do this.

If not, could you send me the workaround you mentioned in reply to n...@netcabo.pt above?

Many thanks

Comment by project member a...@apc.kg, Mar 3, 2011

There is two ways you can achieve ramping up steps: 1. Use Stepping Thread Group and set steppingthreadgroup.additionalrampup in property file. This is deprecated way. 2. Use Ultimate Thread Group, where you can set any load profile, including progresive ramp up.

Comment by evanphe...@gmail.com, Mar 3, 2011

Thanks I'll try the Ultimate Thread Group.

Just for my information, if I wanted to use the Stepping Thread Group with progressive ramping, is it a matter of setting (in jmeter.properties?)

steppingthreadgroup.additionalrampup=<some value in milliseconds>

and then it gets applied to every ramp up?

Comment by araza...@gmail.com, Mar 6, 2011

hello, i have defined some variables in a 'variables from csv file' config element. I notice that when I try to pass a variable from this config element to one of the input boxes in the stepping threading group, it does not seem to work. However, passing a variable defined in the 'user defined variables' config element works fine.

I also notice that variables defined in the 'variables from csv file' config element cannot be used in 'CSV data set config'

Thanks

Ali

Comment by ravisank...@gmail.com, Mar 9, 2011

Hi, I am using 0.3 plugin when I use stepping thread group I encountered difference between samples and users in aggregate report and jmeter users, Why it is not matcing the no.of threads with samples in Aggregate report.the aggregate report showing large no.of samples ..is this error or expected?..could you please explain me..

Comment by project member a...@apc.kg, Mar 10, 2011

Do you remember that number of threads not equal to number of samples? Each thread during its lifetime produces a lot of samples. And upgrade to 0.4.0, it's better for sure.

Comment by ravisank...@gmail.com, Mar 14, 2011

Hi,

we are doing loadtest for JSON APIs using PUT method hence there is no variables in URL or path. Issue here is, every time we send request to server it is updating server only one time, since the hibernate checks for every request if there is any change in request it will update otherwise it will get ignored.

in this scenario, how to do load test by using JSON APIs.

can you suggest me how to solve these kind of issues

Thanks,

Comment by project member a...@apc.kg, Mar 15, 2011

Could you ask such questions via Google Group?

Comment by coolvip...@gmail.com, Jul 12, 2011

Can anybody tell me, how to limit number of loop in stepping Thread Group

Comment by project member a...@apc.kg, Aug 5, 2011

Stepping Thread Group is duration based scheduler, limiting loops would make duration unpredictable.

Comment by rootuc...@gmail.com, Aug 30, 2011

Can anybody tell how to test for 75 users, with a ramp up value of : 5 users each minute...??

Comment by project member a...@apc.kg, Aug 30, 2011

Start total 75 threads, Start 5 users every 60 seconds...

Comment by sunnythi...@gmail.com, Sep 9, 2011

I wanted to have constant(say 100) concurrent users until it is done with the sample data in csv file. How to specify thread group?

I have tried with Any help is appreciated.

Comment by project member a...@apc.kg, Sep 9, 2011

You better use CSV Data set and set Recycle to off.

Comment by safraz...@gmail.com, Nov 1, 2011

This is a great plugin.. Thanks. But can someone tell me how I can loop these Stepping threads?

http://sqastuff.blogspot.com/

Comment by project member a...@apc.kg, Nov 1, 2011

There is my comment on Aug 5, 2011 answering this question.

Comment by safraz...@gmail.com, Nov 1, 2011

Ok, But can you tell me how I can apply the following conditions. Specially point 4(looping??) and 5

  1. ) The load test will start with 10 users
  2. ) 5 users per scenario will be ramped up every 10 seconds
  3. ) The maximum no. of concurrent users will be 100.
  4. ) The test will be complete after 500 users have executed the scenario
  5. ) Think times of 7 seconds per action

Thanks in Advance http://sqastuff.blogspot.com/

Comment by project member Stephane...@gmail.com, Nov 1, 2011

what you want to do is not clear for me(100 user flight time, rampdown, etc, is missing), but you should use Ultimate thread group with this pattern: 100;0;200;60;10 100;300;200;60;10 100;600;200;60;10 100;900;200;60;10 100;1200;200;60;10

Comment by project member Stephane...@gmail.com, Nov 1, 2011

Also think time has nothing to do with thread group... You must use timers in your test plan.

Comment by safraz...@gmail.com, Nov 2, 2011

Thanks Stephane...@gmail.com. This should do just fine for me.

And you are correct about think time. For the benefit of others, to add think times simply Right click on the Sampler(HTTP Request)Add > Timer > Gaussian Random Timer or Constant Timer

Comment by niraj.kh...@gmail.com, Dec 13, 2011

I have one issue. I am using Stepping Thread Group plugin.

My test will add 10 users after every 30 seconds. Once load is reached to 100 users, test will wait for 300 seconds. After that test will stop by 10 users every 5 seconds.

My test stuck while ram down. It always stuck at 13\100 or 15\100 threads. Can someone please know what could be the issue and how to resolve the same?

Comment by mahyar.s...@gmail.com, Dec 14, 2011

When i check the "Run Thread Groups consequently" on the "Test Plan" panel, my "Stepping Thread Group" do not seem to be impacted by this selection: when i look at "Active Threads Over Time" Result View, the Thread Group corresponding graphs are not displayed consequently. The only solution i found was to delay the start of each one with the "First, wait for" input. Do i do something wrong or misunderstood something???

Comment by project member a...@apc.kg, Dec 15, 2011

Actually this is a bug in Stepping Thread Group, thanks for reporting.

Comment by mailtoky...@gmail.com, Jan 15, 2012

Hi, I want to test muliti tenancy testing, Can I achive this using this "Stepping Thread Group" I want to test 50 tenants with load of 100, 100 tenants load of 150 users ...etc.

Comment by project member a...@apc.kg, Jan 15, 2012

I don't understand what tenancy means in performance testing context...

Comment by mahyar.s...@ysance.com, Jan 25, 2012

Are you planning to fix the bug on Stepping Thread Group?

Comment by project member a...@apc.kg, Jan 25, 2012

Yes, for sure. But it takes some time. Patches welcome.

Comment by cont...@capacitas.co.uk, Jan 26, 2012

I (and my colleagues who also performance test aggressively) would really appreciate if you guys added a scheduler in the stepping thread group. We run SOAKs and many other tests through the night and have perfmon on multiple servers on different domains; a nice and easy schedule (like in LR) where they all start at the same time would be awesome.

For now we have a batch script running which starts JMeter in non-gui mode at a certain time but a scheduler built in to the threading group would be awesome so we can watch the throughput rate, TPS and other cool things whilst the test is running (using the same plug-in ofc!).

Comment by chhajeds...@gmail.com, Feb 14, 2012

I have a issue while using Stepping Thread for ramping up the Users. I have recorded my script with ThreadGroup? and Now I am trying to run all the requests with Stepping Thread.Whenever I run my script then it run single request and stopped the test.

Can you please let me know if I am missing something?

Comment by chhajeds...@gmail.com, Feb 15, 2012

I have 3 requests in my script - Main Page , Login and Logout. Its only running Main Page request.

Comment by project member a...@apc.kg, Feb 16, 2012

Comments is not issue tracker, nor mailing list...

Comment by chhajeds...@gmail.com, Feb 16, 2012

Hi, Are you able to replicate this issue? I am facing this same issue with all the scripts.I am following below steps to create the script. 1. Selected ThreadGroup? for recording 2. Recorded the http/html script for MainPage?,Login and Logout transaction. 3. I have 3 request for above transactions. 4. I have added constant timer and parameters(username and password for login) in each request 5. Script is running fine for login. 6. Now I have added stepping Thread in the script and copied all the requests to Stepping Thread. 7. While running the script it will only run 1st request and test stopped.

Can you please check it if I am missing something or is it the default functionality of Stepping Thread feature?

Reply on this will be highly appreciated.

Regards, Sonu Chhajed

Comment by project member a...@apc.kg, Feb 17, 2012

Seems you don't understand what I mean on comments... I'll disable the comments for this page. Please, use Issues tab or mailing list.

Powered by Google Project Hosting