Gatling Enterprise Cloud lets you spin up managed load tests in minutes, but to get the most out of it, you need to understand how it orchestrates your simulations and agents.
Imagine you’ve got a Gatling simulation script. You push it to Gatling Enterprise Cloud, and it looks like magic. But what’s actually happening? Gatling Enterprise Cloud is a distributed system. It takes your script, packages it, and distributes it to a fleet of "load generator" agents. These agents, running in the cloud, then execute your simulation, collect results, and send them back to the Gatling Enterprise Cloud controller for aggregation and reporting. It’s like having an army of testers ready at your command.
Here’s a quick look at a simulation running. Let’s say we’re testing a simple API endpoint.
{
"simulationId": "my-awesome-api-test",
"status": "RUNNING",
"startTime": "2023-10-27T10:00:00Z",
"progress": {
"current": 50,
"total": 100,
"unit": "PERCENT"
},
"metrics": {
"requestsPerSecond": {
"mean": 1250,
"unit": "COUNT"
},
"latency": {
"mean": 75,
"stdDev": 15,
"min": 20,
"max": 150,
"p25": 50,
"p50": 70,
"p75": 90,
"p95": 130,
"p99": 145,
"unit": "MILLISECONDS"
}
},
"agents": [
{
"id": "agent-001",
"status": "RUNNING",
"metrics": {
"requestsPerSecond": 600
}
},
{
"id": "agent-002",
"status": "RUNNING",
"metrics": {
"requestsPerSecond": 650
}
}
]
}
This JSON snippet shows a simulation that’s halfway through. It’s reporting 1250 requests per second overall, with an average latency of 75ms. You can also see that the load is distributed across two agents, each contributing a portion of the total requests. Gatling Enterprise Cloud collects these per-agent metrics and rolls them up.
The core problem Gatling Enterprise Cloud solves is the complexity of managing a distributed load testing infrastructure. Traditionally, you’d have to provision servers, install Gatling, manage network configurations, and then coordinate the execution and result aggregation yourself. Gatling Enterprise Cloud abstracts all of that away. You upload your script, configure your test parameters (number of users, duration, ramp-up, etc.), and Gatling Enterprise Cloud handles the rest.
Internally, Gatling Enterprise Cloud uses a control plane to manage the lifecycle of your simulations. When you start a test, the control plane provisions the necessary load generator agents (often as containers in a managed Kubernetes cluster), deploys your simulation script to them, and orchestrates their execution. It monitors the agents, collects their results in real-time, and aggregates them into the comprehensive reports you see in the UI. The agents themselves are stateless; they receive instructions, run the simulation, and send back data. This makes scaling up or down incredibly efficient.
The key levers you control are within your simulation script and the test configuration. Your Gatling script defines what you are testing – the HTTP requests, the user flows, the data parametrization. The test configuration in Gatling Enterprise Cloud defines how you are testing it – the total number of virtual users, how quickly they ramp up, how long the test runs, and importantly, the distribution of those users across the available load generators.
For instance, if you have a test that requires a very specific network topology or needs to originate from a particular geographic region, you can configure Gatling Enterprise Cloud to provision agents in those specific cloud regions. This is crucial for realistic testing. You’re not just running a load test; you’re running a load test from where your users are.
When setting up your test, you’ll notice options for "Pools" and "Regions." A Pool is essentially a group of pre-configured load generator environments. You can have pools that are optimized for CPU-intensive simulations, others for memory-intensive ones, or pools located in specific geographic areas. Selecting the right pool and region ensures your simulation runs efficiently and accurately reflects real-world conditions. For example, if your primary user base is in Europe, you’d select a pool with agents provisioned in European cloud regions.
The most surprising thing for many is how Gatling Enterprise Cloud handles dynamic scaling of load generators during a test. If your simulation suddenly needs more capacity than initially allocated—perhaps due to unexpected spikes in traffic or a more aggressive ramp-up than planned—Gatling Enterprise Cloud can automatically scale up the number of load generator agents to meet the demand, all without interrupting the ongoing test. This elasticity is managed by the control plane, which continuously monitors resource utilization across the agent fleet and adjusts capacity based on predefined thresholds and your test configuration.
The next step after mastering simulation execution is understanding how to integrate Gatling Enterprise Cloud with your CI/CD pipeline for automated performance testing.