Rampup and Steady state


I have a profile to run the below profile.

Rampup 10 users in 5 secs (2 users every sec)
Steady state for 15 mins
Slow Ramp down to 0

I tried to do this, but my users are dropping back after completing 1 iteration each.

setUp(scn.inject(rampUsers(10) over(5 seconds),nothingFor(15 minutes))).protocols(httpProtocol)

Each virtual user does what it is told. If it only does one thing, and then quits, then that’s exactly what it will do. The way you are thinking about your project suggests that what you really want is not necessarily what you are expressing.

If you want 10 users running at the same time, then does that mean that when a user finishes, another immediately takes its place? If so, do you want the single user to just loop? If so, how will you tell it to stop looping?

Hi John,

If you look at the approach how other Performance testing tools like Loadrunner or JMeter works, the virtual users are ramped up and holds a concurrent load on the application, where each user completes an iteration and starts another one by clearing all cookies and cache, which in turn is a simulation of a new end user, but in terms of load test run, the same virtual user running again with a new session. I got answer for my question from a different thread, where it said that Gatling works on Open load model concept, where as the concept that i explained w.r.t LR or JMeter is a closed one.

You can implement a closed workload model in Gatling the same exact way: loop and reset proper caches: http://gatling.io/docs/2.1.7/http/http_helpers.html

But Gatling emphasizes open workload model that makes more sense in the majority of cases.

That is exactly my point Stephane. I did see this approach also for Gatling. But somehow felt the flexbility missing, when I need to extend my test duration by few mins. Looping is the best approach i recommended too when Gatling is used.