Differences in throughput between 1.5.2 and 2.0.0-RC5

Hey All,

Hopefully I’ve just made a stupid error, but I tried benchmarking gatling between 1.5.2 and 2.0.0-RC5 against the same /ping => pong service and got much different peak throughputs.
The 1.5.2 version peaks at ~23k RPS and the 2.0.0-RC5 peaks out at about 7.5k RPS.

Further info:

  1. Done on a macbook pro (java 1.7.0-67), invoked via gatling.sh
  2. Server on same box as load driver
  3. Both runs were done against a totally warm service.
  4. Yes we would like to be able to drive more than 20k. We can and have done this over the network on a harder workload with 1.5.2 gatling.
  5. I’ve tried tweaking http settings and didn’t manage to get any wins.

The main differences between the two are:

  1. Gatling version
  2. .users(1000) vs .inject(atOnceUsers(1000))

The scripts used on each:

– 152 —
val httpConf = httpConfig.baseURL(“http://localhost:9114”)

val scn =
scenario(“Ping Simulation”)
.during(10 seconds)(
exec(http(“ping”)
.get("/ping")
.check(status.in(Seq(200)))
.check(bodyString.is(“pong\n”)))
)
.users(1000)
.protocolConfig(httpConf)

setUp(scn)

— 200RC5 —

val httpConf = http.baseURL(“http://localhost:9114”)

val scn = scenario(“Ping”)
.during(10 seconds)(
exec(http(“ping”)
.get("/ping")
.check(status.is(200))
.check(bodyString.is(“pong\n”))))

setUp(scn.inject(atOnceUsers(1000)).protocols(httpConf))

Regards,
John Huffaker