Hi Vladimir,

2016-09-20 16:36 GMT+02:00 Vladimir Sitnikov <sitnikov.vladi...@gmail.com>:

> Hi,
>
> Some time ago I did suggest to implement throughput timer that generates
> Poisson process.
>
> JMeter thread reference:
> http://mail-archives.apache.org/mod_mbox/jmeter-dev/201502.mbox/%3CCAB=Je-
> GON1QUxAD6nnzMLA0wh9JMpk8nh=y8uylihfg8mao...@mail.gmail.com%3E
>
>
> JMeter plugins thread reference:
> https://groups.google.com/d/msg/jmeter-plugins/K8I6LIRwYjM/kWteXor28kQJ
>
> At that time the suggestion was declined and the timer was implemented
> in-house.
>
> There was interest in merging that kind of timer to JMeter core, so I did
> check if I could contribute it.
> The result is positive, so it's time to negotiate the procedure.
>
> To make long story short: the timer enables to generate Poisson arrivals
> with constant throughput in a range of 0..3600 requests/hour (I'm not sure
> what is the upper bound exactly, however it does exist)
>
How to find this limit?
3600 requests/hour is not very high :-(



> The typical use case is "generate 100 orders per hour". For example, if
> configured with 100/hour, the timer ensures that there are exactly 100
> transactions each hour while the transactions are still launched at random
> timestamps.
>
Like "Constant throughput timer" but more accurate?


>
> So I've two generic questions:
> 1) Go/no-go for inclusion? Please, some +1/-1 here.
>
It will depend on the upper bound

I think it will be great to have a more accurate "Constant throughput
timer" in JMeter but if there is too much limitation, I think it will be
better to integrate it in another way

e.g.
In "Constant throughput timer", have a check box "accurate but limited to
XXX requests/hour" which switch from classic algorithm to your algorithm


>
> 2) How the timer should be named?
> We used to name it as "Exponential Timer", however I do not find that name
> to be understandable by regular end-user.
> "Exponential Timer" was used just because "Poisson process has exponential
> distribution of inter-arrival delays". So "exponential" in the name is 100%
> scientifically correct, yet it is 100% protected from being understood by a
> regular end-user. On the good side, it will produce good "Google results"
> as the name is somewhat unique.
>
> Theoretically, we could even drop "Poisson timer", and rework current
> "Constant throughput timer" to use new algorithm, however that might be a
> little bit too invasive.
>

If the limit of requests/hour is not too low, I think it's the best
solution or have a checkbox to switch between the two algorithm


>
> I'm open to further discussion/questions/suggestions.
>
> Technically speaking, the timer always coordinates all the threads in the
> group and it creates "launch schedule" even before the first thread
> arrives. Then the timer releases threads at pre-scheduled time by returning
> proper "delay" value. The timer does not care when the thread was created.
> It only cares on the exact timestamp the subsequent sample should take
> place.
>
>
> Vladimir
>

Reply via email to