Report results interpretation

Hi all,

I am using gatling 1.5.1.

I’am curious about how to interpret test results.

I run the following scenario:

Hi all,

I am using gatling 1.5.1.

I'am curious about how to interpret test results.

I run the following scenario:

========================

val scn = scenario("scn1")
    .feed(csv("feeds.csv").circular)
    .exec(
        http("searchRequest")
        .get("/search")
        .queryParam("feed", "${feed}")
        .check(status.is(200))
    ).during(120 seconds){
        exec(
            http("searchRequest")
            .get("/search")
            .queryParam("feed", "${feed}")
            .check(status.is(200))
        )
    }

    val httpConf = httpConfig
    .baseURL(rootUrl)
    .acceptCharsetHeader("ISO-8859-1,utf-8;q=0.7,*;q=0.7")
    .userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6;
rv:8.0.1) Gecko/20100101 Firefox/8.0.1")

    setUp(scn.users(10000).ramp(10).protocolConfig(httpConf))

========================

That's load test of our feed aggregator web api.
The main part is done during 120 secs, as seen in the code.
But after 120 secs goes out the number of active sesssions goes to zero
during more than 1 minute.

So, my questions are:

Why does not number of active sessions goes to zero right after 120 secs?

I guess you come from a JMeter background or another similar tool where
you're used to think in terms of threads instead of users.
In Gatling, a scenario is a workflow, and users are messages that go down
this workflow.

So, for example, your during loop t0 time is not simulation start up as you
seem to think. For a given user, t0 is the instant it enters the loop.

Your last user will start at start up + 10 seconds (ramp duration), then it
will exec searchRequest and then perform the during loop, which will last
between 120 seconds and 120 seconds + searchRequest duration again (loop
content).

Clear?

What does it mean - succeeded requests?

Requests that didn't produce an exception or didn't match a check (Gatling
has a default status check, see documentation)

On "Number of Request per Time" number of succeeded requests is
significantly less than nr of active sesisons. How are succeeeded requests
are calculated?

Probably because your mean response time is longer that one second.

What is more meaningful - nr of succeeded requests or nr of active
sessions?

nr of requests I guess. Then nr of active sessions might be interesting if
your system under stress is statefull.

Thanks, Stephane,

generally, your explanation is clear.

So, in my case, while I have about 10K active sessions, still throughput is about 1K rps.
And yes, mean response time is quite large, multiple seconds.
As far as I understand, this also is the reason of quite long relaxation time, when nr of active sessions doesn’t quickly falls up to zero when 120 secs ends, but smoothly goes down during almost 60 secs.

Exactly!

Cheers,

Stéphane