Relation between number of users injected at a typical ramp up rate and requests per second achieved


I have been using Grinder for Performance testing for a very long time. But now i see that as the users for our application have gradually increased we are hitting limitation (in terms of resources on the load generators) as to how many users can be concurrently created using Grinder.

Hence I have been evaluating if Gatling is a solution for us and so far it looks very promising mainly due to its architecture of not following the 1 user = 1 thread paradigm

But I have a very basic question here.

For our application a typical user behaviour was simulated in grinder scenario and Gatling simulation.

Using grinder I could create 100K users at the ramp up rate of 10K users/min that translated to ~600 req/sec and thats where I hit breaking point on the application under test.

Now when I am trying to do the same using Gatling, ~600 req / sec is achieved by 40 K users itself ramp up at the rate of 4K users/min

I use the live_users.inject(rampUsers(40000) over (600)), way of injecting users

Can you please help me understand, as to how is Gatling able to achieve the same TPS with fewer concurrent users. Please note the think time is simulated for both grinder scenario and gatling simulation.
Since in my company we generally talk about application capacity in terms of concurrent users and ramp up rates rather than TPS I am finding it hard to present results to management

Thanks in advance,


any suggestions???
how is Gatling able to hit limitation on application under test with fewer concurrent users than grinder?
AUT and the user scenario is exactly the same.

Gatling has caching enabled by default, just like a browser, so:

  • if you’re getting tons of 304 Not Modified, you’re hitting the cache, hence getting lighter payloads => disable caching to properly compare (if Grinder doesn’t support caching)
  • otherwise, Grinder is simply lagging and all your results were off

Thanks for your reply Stephane!!

  • I am sure I have all 200 responses as I have a check on “status” item in the response of every request
  • I believe i will have to go back and evaluate and compare the tools again and make sure the scenarios and Application under test match perfectly.

Thanks again for your inputs