Difference max response time between Gatling and Jmeter


I new in gatling and I have a problem with the max response time. I run a script with gatling and jmeter.

I had this script

class Tierra extends Simulation{

object Tierra{

val r = scala.util.Random

val geoCodeIpAddress = scenario("By Ip Address")
      .exec(http("By Ip Address")
      .queryParam( """ip_address""", "${ip_address}")
      .queryParam( """client_id""", clientId)
      .queryParam("""loadRequests""", loadRequests)

val ipAddress = csv("ipaddress.csv").random

  val httpConf = http
    .extraInfoExtractor(extraInfo => List(extraInfo.request))

    Tierra.geoCodeIpAddress.inject(constantUsersPerSec(5000) over (2 seconds))


I saw the following numbers:

Gatling doesn’t only account for the HTTP request to response time, but also:

  • possible DNS resolution
  • TCP connection opening

Maybe the other tools don’t.

But then, you have to run each tools many times to get statistically significant results.

I observed same. I evaluated Jmeter and CURL against Gatling. The result in Jmeter and CURL was quite similar but in Gatling the max response time was much higher (7times) than both of them.
I did this test at least 10 times and all the time Gatling shown different result than Jmeter & Curl.

All tests were having a plain post request without any assertion, feeder etc. Gatling’s request was feeded-in as as ELFBody json file.

The only possible explanation for such gap is that you’re not running the same test with the different tools and you’re comparing apples and oranges: just comparing boot time, not opening the same number of sockets, etc.