Why requests fired up more than what mentioned in throttle?


I am new to gatling and I am doing some trial and error with throttling.

Here is my scenario and scenario injection command.

val httpConf = http
    .baseURL("http://computer-database.gatling.io") // Here is the root for all relative URLs
    .acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8") // Here are the common headers
    .acceptEncodingHeader("gzip, deflate")
    .userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0")

  val scn = scenario("Scenario Name") // A scenario is a chain of requests and pauses
  setUp(scn.inject(constantUsersPerSec(10) during(10 second)).protocols(httpConf)).throttle(reachRps(2) in (10 seconds))

Now as per gatling's throttling behavior It will fire up only 2 requests at the end of 10 seconds. It is firing 2 request when I see Number of request per second chart.
But if i see the total number of requests in global, it is showing me 7 requests. hows that possible? can anyone explain me this?

Neel Desai

gatling_stats.html (177 KB)

reach means scaling linearly from previous value (here 0 rps) to target (here 2 rps).

Thank you for your reply but I want to know the reason for getting global requests=7 . Why 7?