Maximum Load Generation Per Gatling Machine


I would like to get briefly an idea on how much a single gatling machine can generate a load on a instance type of m4.2xlarge.Even though it varies from application to application…there will be some baseline load for a mimimum payload request.We have encountered Handshake timeout issues when we ran high request count through one machine.Does handhake timeout is because of huge load through one machine?? Any insights on this would help me for further tests which i am going to perform from gatling.


set Java heap size in DEFAULT_JAVA_OPTS="${DEFAULT_JAVA_OPTS} -Xmx11G -XX:+HeapDumpOnOutOfMemoryError"

for the size of m4.2xlarge, you can put load around 2500 VUsers for Web based application and for API based application it would around 5000 VUsers.

You can change the java heap size -Xmx11G to desired level as per your Java/Gatling process required.


I might write an article on this but here are the main things to look at while choosing an instance type:

  • Use c5 instance types
  • Check how much memory and sockets you need, sockets being the most limiting issue when deciding how to scale a load test: use prometheus/node_exporter
  • Optimize the kernel
    Most of the type, unless you want really high throughput, you’d be good with a c5.2xlarge.

More here:
The talk itself is in french, the resources are in english inside the repository.

Yes Guillaume CORRÉ you are right, an article on this would be helpful for everyone.