Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JMeter: Gaussian random timer vs Poisson random timer

I am trying to figure out which timer to use for my loadtests in order to simulate a gradual growth in traffic towards the website. I had a look ad the Gaussian Random Timer:

To delay every user request for random amount of time use Gaussian Random Timer with most of the time intervals happening near a specific value.

and the Poisson random timer:

To pause each and every thread request for random amount of time use Poisson Random Timer with most of the time intervals occurring close a specific value.

taken from this source.

Now I don't really understand what's the difference between the two. They both apply a random delay that is more likely to be close to a specific value. So what am I missing? How to they differ in practice?

like image 889
Nicola Miotto Avatar asked Jun 30 '15 14:06

Nicola Miotto


People also ask

What is Poisson random timer in JMeter?

As the name suggested, JMeter Poisson Random Timer is used to generate and add the random delay before the execution of a sampler. This timer is based on the Poisson Distribution Function. The delay (think) time is the sum of the Poisson distributed value multiplied by defined lambda value and the offset value.

What is Gaussian random timer in JMeter?

Gaussian Random Timer element is used to delay each user request for a random period of time. It has a random deviation around the Constant Delay Offset based on Gaussian curve distribution. For Example: Deviation Value: 100 milliseconds.

Which JMeter is used to implement Thinktime?

Solution : Right click on the “Thread Group” and select “Add Think Times to children” option. Jmeter will add think time after each transaction in the script.It will add a “uniform Random Timer” as a child to “Test Action” element. Change the Timer or timer's delay as per your requirement.

Which of the following timers can be used to generate a time delay between each user request in JMeter?

The Constant Timer can be used to pause each thread for the same “think time” between requests. The above configuration will add a 5-second delay before the execution of each sampler, which is in the Constant Timer's scope.


2 Answers

The difference is in the algorithm used to generate random values:

Poisson is based on this:

  • http://en.wikipedia.org/wiki/Poisson_distribution

  • http://www.johndcook.com/blog/2010/06/14/generating-poisson-random-values/

Gaussian uses :

  • java.util.Random#nextGaussian()

Both add to Constant Delay Offset the value of a random number generated based on either Poisson or Gaussian.

like image 85
UBIK LOAD PACK Avatar answered Nov 15 '22 04:11

UBIK LOAD PACK


The difference is in underlying algorythm, check the following links for details

  • Normal (Gaussian) distribution
  • Poisson Distribution

I would also recommend reading A Comprehensive Guide to Using JMeter Timers article for exhaustive information on JMeter timers.

like image 28
Dmitri T Avatar answered Nov 15 '22 05:11

Dmitri T