Multi-scenario simulation - less than expected calls

Gatling 2.0.0.M3a Multi-scenario (five) simulation being executed on a single JVM.
a. Each scenario is executed with 5000 users and rampup of 5000 seconds.
b. Each scenario is executing for 3600 seconds.

The heartbeat call should have executed 60,000 times (call is made every 5 minutes).

But, we only see 54,747 records in the simulation.log.

A screenshot of the Gatling report is attached for quick explanation.

We do not see this when running with fewer users (1000, 2000, 3000).

We do not have the console output handy, but, can re-run the 5000 simulation and collect console logs, if needed.

Do I need to provide more resources to the simulation?

Thanks,
Sajjad

Hi,

So, basically, your structure looks like this ?

val scn = scenario(“foo”).during(3600 seconds) {

}
setUp(scn.inject(ramp(5000 users).over(5000 seconds)))

In the graph in attachment, we can see that hearbeat requests take 45 second in average. Where do your 60k come from? I think that the reponse time may impact your theorical numbers.

cheers
Nicolas

Users 5000 users * five Scenarios = 25000 total virtual users

Duration of heartbeat scenario 3600 seconds (1 hour)

a. Make a heartbeat call
b. Wait for 300 seconds (5 minutes)

If all the 5000 virtual users complete the scenario for the duration, then

each virtual user should make 12 calls and be destroyed after the last wait.

Therefore, 12 * 5000 = 60,000 calls.

From the simulation log, I only see 54,747 records for heartbeat.
So, the calls were not originated from gatling. Also, the report is

run at the end of the simulation, so all the existing calls had finished or timed out.

I could bump up the -Xmx number in gatling.sh and see if it helps … but, I would like to find out
if it is a memory limitation issue first or if something else is wrong in my environment.

You didn’t get my point, you have many hearbeat requests that took about 60 seconds.
The equation for finding the number of heartbeats in the worst case scenario is:
3600 >= nbHeartbeat*60 + (nbHeartbeat-1)*300

This is 11 heartbeats and not 12 !

regards
Nicolas

I now understand. Thank you for the explanation.