8

I have a performance test in JMeter and would like to test maximum system performance/throughput with it. So number of active threads should be increased for example while Error rate is under 2 %. I found Constant Throughput Timer, put it into Thread Group but it only pause or slow down threads. I tried define it as follows, with a property: ${__P(throughput,)}, but not sure what should be correct value for this property. I can't see how JMeter could measure system maximal performance.

plaidshirt
  • 5,189
  • 19
  • 91
  • 181

2 Answers2

4

There is no Out of the box solution as of JMeter 3.3, see this enhancement request:

Still it is possible to dynamically add threads since JMeter 3.2 (see https://bz.apache.org/bugzilla/show_bug.cgi?id=60530) in a JSR223 Test Element using JMeterContext:

ctx.getThreadGroup().addNewThread(delay, ctx.getEngine());

So based on this, you could in a JSR223 Test Element (Pre/Post Processor or Sampler) check the presence of a file in a folder of your choice named :

NUMBER_OF_THREAD_TO_ADD.txt

If present, use its name to compute number of threads and call this method.

UBIK LOAD PACK
  • 33,980
  • 5
  • 71
  • 116
2

There is no such functionality in the "vanilla" JMeter howere it is possible with plugins, check out:

They can be connected together via feedback loop so Concurrency Thread Group will add more threads if needed to reach the desired number of requests per second.

You can install both the plugins (and keep them up-to-date) using JMeter Plugins Manager

Dmitri T
  • 159,985
  • 5
  • 83
  • 133
  • Thanks! How is it possible to connect these with error rate? So how could I increase number of threads since error rate is below a predefined value? – plaidshirt Nov 29 '17 at 07:23
  • 1
    Not sure regarding stopping increasing load, however you can stop the whole test if errors rate exceeds certain threshold via [AutoStop Listener](https://www.blazemeter.com/blog/using-the-jmeter-autostop-listener-how-to-do-it-right) – Dmitri T Nov 29 '17 at 09:14