Maximum number of concurrent users per 1 Gatling client

Hi,
I want to run a load/stress test via Gatling. What is the maximum number of concurrent users/requests that I can send via 1 Gatling client?

Thanks,

Liran Cohen

QA Platform Engineer, TMS

Thomson Reuters

Gatling version: 2.2.2
Instance type: c3.2xlarge
Server: https://github.com/aidylewis/go-test-server/blob/master/server.go
Sim: https://gist.github.com/aidylewis/5aabb46e5bdecb1d2a6f9bcd9397ab25
Rate:
...
2016/06/28 11:10:03 Rate: 37296
2016/06/28 11:10:04 Rate: 38069
2016/06/28 11:10:05 Rate: 38640
2016/06/28 11:10:06 Rate: 38249
2016/06/28 11:10:07 Rate: 39355
2016/06/28 11:10:08 Rate: 39355
2016/06/28 11:10:09 Rate: 39641

Aidy

Stephane suggested I “loop 1.000 users”. I ran this simulation ( https://gist.github.com/aidylewis/24f96381ebf9ced0c3ecd6314e210d53 ) from a c3.4xlarge.

I got around 105,000 r/s (max)

2016/06/28 14:34:44 Rate: 105075
2016/06/28 14:34:45 Rate: 105523

Aidy

c3.4x is 16 cores with Ivy Bridge. c4.4x should be better.

The max I got from a c4.4xlarge was ~ 140,000 r/s

2016/06/28 14:55:00 Rate: 102922
2016/06/28 14:55:01 Rate: 119307
2016/06/28 14:55:02 Rate: 109420
2016/06/28 14:55:03 Rate: 137811
2016/06/28 14:55:04 Rate: 143170

Thanks guys!

Now that’s impressive!
Do you know if there is an OS limitation for the rate limit?
I’m currently using OL-7.1.1 on a large VM server (16GB RAM, 4 VCPU). Thought of adding more VM’s with an haproxy but with the numbers that you got maybe it will be better for me to work on a single stronger physical server. Does it meter if i’m using a Win OS or should I stay with Linux?

Don’t use Windows if you want to achieve very high throughput. Netty uses Java’s NIO1, which is broken on Windows.

Now that's impressive!

These figures are based on the Go server and Gatling running on the same machine. I've seen evidence of 260K requests per second when they are separated.

If you are not limiting TCP connections, you'll need to increase the max open file limit.
https://github.com/bbc/notes-on-perf-testing/blob/master/ch/tuning/open_file_limit.md

There is some Gatling documentation here:
http://gatling.io/docs/2.2.2/general/operations.html

You'll need to increase your ephemeral ports (max 64K). Unix will open a file descriptor and an ephemeral port before making a TCP connection.

Enter the tuning at the bottom of the Gatling operations page in sysctl.conf and reboot.

I'd like to update the Gatling page with explanations of tuning (but I currently have a PR open (not sure if I can make > 1 PRs off the same fork).

Aidy