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
