0
votes

I have a Thread-Group that runs a set amount of time and control the throughput through a Constant Throughput Timer. So in theory, about the same number of Samples should be processed, regardless of the number of Threads deployed.
E.g. ignoring warmup/down the test runs for 10 min with a throughput of 5 Threads/s, therefore roughly 3000 Samples should be processed.

How does changing the number of Threads effect the test?

Ignoring the startup/shutdown period, will the results of the test differ if I have 1000 or 2000 Threads, if only 100 can be completed in a minute?

How can I work out the number of Threads required, given the throughput?

2

2 Answers

0
votes

Constant Throughput Timer

  1. Can only pause threads to match the given throughput value. It won't kick off more threads if you don't have enough defined at Thread Group level.
  2. Is accurate enough on minute level. If your test lasts less than a minute - consider other options like playing with ramp-up.

For more information check out How to use JMeter's Throughput Constant Timer

Also it might be better and easier to use Throughput Shaping Timer available via JMeter Plugins project which extends CTT capabilities and provides easy understandable visual view of expected throughput

Throughput Shaping Timer

0
votes

The number of threads will impact results if your server faces slowdowns. If so and you don't have enough threads then you will not be injecting the expected load and end up with less transactions performed.

If you have more, then the target load will be injected potentially leading to server crash.

Finally be aware that if you don't make your test last enough, jmeter will potentially inject more than expected because it needs some time to reach the expected req/s , it will inject more at begining.