Hi,

In my JMeter script, I wanted to configure a timer with an exponential
distributed delay.
However, using the Poisson timer, I could configure only the think time,
not the cycle time. (In short: cycleTime = responseTime + thinkTime)

Here is a more detailed explanation, what "Cycle Time" is, and why it is
useful in load testing scenarios... (citation from
http://www.testnscale.com/docs/CycleTimesTutorial.html)
"Cycle Time in Faban refers to the inter-arrival time between subsequent
requests that arrive at a server. For internet-based applications where the
user population is unknown, it makes sense to model cycle times (rather
than think times).  Note that there is a subtle difference between using
think times and cycle times. In a load test that uses think times, if the
server slows down and response times increase, the think times are still
generated in the same manner giving the server time to recover. But in a
test that uses cycle times, if the response time is large, the cycle time
still remains the same - the emulated user simply sleeps for a shorter time
between requests (and in the worst case where the response time is larger
than the cycle time, will not sleep at all) causing the load on the server
to increase. This will quickly result in excessive load on the server
causing increasingly larger response times.  This is not necessarily a bad
thing - it can pin-point scalability problems in the server more quickly
and help you fix them."

If I want to achieve a certain throughput level, configuring the ThinkTime
is not useful, since the actual throughput depends on the response times. I
now implemented an own PoissonTimer that times the cycle time, not the
think time.
(The implementation extends the standard PoissonTimer, and uses code
fragments of the ConstantThroughputTimer.)

My question:
>From my point of view, it would be definitely useful to provide at least
all RandomTimers with an option "control think time or cycle time?". The
implementation is rather straight-forward, and I really would like to help
with that. What do you think?

Note: Using the constant throughput timer is not an option, because the
cycle times are then constant (see implementation of
ConstantThroughputTimer), which is not really realistic/representative.

Kind Regards,
Fabian

Reply via email to