A distributed load testing solution that enables running Gatling simulations across a cluster of machines for high-scale performance testing.
Distributed Gatling is an open-source cluster solution for running Gatling load tests across multiple machines. It solves the problem of generating extremely high concurrent user loads that can saturate a single machine's resources by distributing simulation tasks across a pool of worker nodes. The system provides a master node for coordination and worker nodes for test execution, with centralized reporting and monitoring.
Performance engineers, QA teams, and developers who need to run large-scale load tests beyond single-machine capabilities, particularly those already using Gatling for HTTP server testing.
It extends Gatling's powerful load testing capabilities to distributed environments without requiring Gatling to implement native clustering, offering fault tolerance, multi-tenant isolation, and a familiar web interface for managing distributed tests.
Distributed Gatling
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables running Gatling simulations across multiple worker nodes to generate higher concurrent user loads than a single machine, addressing the scaling limitation mentioned in the README.
Master monitors worker health and reassigns tasks on failure, with support for worker recovery, ensuring test continuity as described in the fault tolerance and goal sections.
Allows multiple teams to share the cluster via role-based worker pools, preventing interference, which is highlighted in the cluster master and goal descriptions.
Aggregates performance reports from all workers into consolidated Gatling reports accessible through a web UI, simplifying analysis as shown in the screenshots and features.
Uses a work-pulling architecture where idle workers pull tasks, ensuring automatic load balancing and optimal resource utilization, based on the design philosophy in the README.
Requires downloading Gatling bundles, configuring application.yml files, and running separate shell scripts for master and each worker, which is time-consuming and error-prone, as detailed in the usage steps.
Primarily inherits Gatling's HTTP focus; extending to other protocols may require additional development, and the README does not provide built-in support for non-HTTP testing in the distributed context.
Lacks native auto-scaling features; workers must be manually started and managed, unlike cloud-native solutions that dynamically adjust resources based on load.
Tied to specific Gatling versions through path configurations in application.yml, requiring updates for new releases and potentially causing compatibility problems, as seen in the job path example.