How to do Spike testing using Taurus?

315 views
Skip to first unread message

Yogesh Jadhav

unread,
May 18, 2021, 4:53:17 PM5/18/21
to codename-taurus
I wanted to do Spike testing like it is mentioned in the Jmeter article below.


Goal is to spike the load at specific time. For example during 20 mins test I want to spike the load by 10x between 10 to 15 mins. Post 15 mins load should be back to what it was prior to 10 mins.

Something like below..

spike.png

grey....@gmail.com

unread,
May 19, 2021, 12:31:06 AM5/19/21
to codename-taurus
Hello.
I didn't read the article, but if spike testing is described there what is your question?

---
Taras

Yogesh Jadhav

unread,
May 19, 2021, 1:03:01 AM5/19/21
to grey....@gmail.com, codename-taurus
How can we do it just using Taurus script? Any execution specific parameters or options?

Regards,
Yogesh 

On May 18, 2021, at 9:31 PM, grey....@gmail.com <grey....@gmail.com> wrote:

Hello.
--
You received this message because you are subscribed to a topic in the Google Groups "codename-taurus" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/codename-taurus/RuVP8k6-PPI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to codename-taur...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/codename-taurus/4cfe041b-7f10-43a9-9ac0-c5565c10e5fan%40googlegroups.com.

DT

unread,
May 19, 2021, 4:35:58 AM5/19/21
to codename-taurus
I don't think this is a code writing service, if you need to master Taurus the best option is attending free BlazeMeter University which provides The Complete Taurus Course

As an exception I provide some inputs.

It's possible to specify a Load Profile in Taurus which has throughput option allowing to control the number of requests per second which Taurus generates (if the underlying Executor supports it)

For default Taurus executor which is JMeter the throughput is implemented via Throughput Shaping Timer which in its turn provides load_profile property allowing to specify the desired load pattern.

So if you need to perform a spike as at your image the relevant load profile would be something like

const(500,10m) line(500,5000,1m) const(5000,5m) line(5000,500,1m) const(500,4m)

The property can be propagated to the underlying JMeter engine as per JMeter Properties and Variables user manual section

Putting everything together:

---
scenarios:
  example:  
    requests:

execution:
  concurrency5000
  hold-for20m
  throughput500
  scenarioexample

modules:
  jmeter:
    properties:
      load_profileconst(500,10m) line(500,5000,1m) const(5000,5m) line(5000,500,1m) const(500,4m)

If you run this YAML config file as bzt -gui  you will see something like:

Untitled.png

Yogesh Jadhav

unread,
May 20, 2021, 2:23:02 AM5/20/21
to DT, codename-taurus
Thank you very much ! It’s working as expected. Appreciate your assistance! 

Regards,
Yogesh 

On May 19, 2021, at 1:36 AM, DT <gli...@gmail.com> wrote:


I don't think this is a code writing service, if you need to master Taurus the best option is attending free BlazeMeter University which provides The Complete Taurus Course

As an exception I provide some inputs.

It's possible to specify a Load Profile in Taurus which has throughput option allowing to control the number of requests per second which Taurus generates (if the underlying Executor supports it)

For default Taurus executor which is JMeter the throughput is implemented via Throughput Shaping Timer which in its turn provides load_profile property allowing to specify the desired load pattern.

So if you need to perform a spike as at your image the relevant load profile would be something like

const(500,10m) line(500,5000,1m) const(5000,5m) line(5000,500,1m) const(500,4m)

The property can be propagated to the underlying JMeter engine as per JMeter Properties and Variables user manual section

Putting everything together:

---
scenarios:
  example:  
    requests:

execution:
  concurrency5000
  hold-for20m
  throughput500
  scenarioexample

modules:
  jmeter:
    properties:
      load_profileconst(500,10m) line(500,5000,1m) const(5000,5m) line(5000,500,1m) const(500,4m)

If you run this YAML config file as bzt -gui  you will see something like:

Shrikant Karamkar

unread,
Feb 5, 2024, 12:55:08 PM2/5/24
to codename-taurus
This scenario is not working the way it mentioned in Taurua yaml.
I have tried with the same load_profile it is not working the way it is mentioned here. It is considering only 1 RPS schedule.

DT

unread,
Feb 5, 2024, 3:17:17 PM2/5/24
to codename-taurus
The scenario is working just fine with the latest Taurus v1.16.27, if it doesn't work for you it just means that you' failed to copy and paste the YAML from my previous answer somewhere somehow. Please check its integrity using i.e. YAML lint and ensure that the load profile property has been applied using JMeter GUI. Also get familiarized with Using JMeter’s Throughput Shaping Timer Plugin article to understand what test element is being used under the hood.

globalpsyche...@gmail.com

unread,
Apr 30, 2024, 11:53:50 AM4/30/24
to codename-taurus
Subscription to our channel and let us know what we can do for you.

Reply all
Reply to author
Forward
0 new messages