A shell script that automates distributed load testing by running Apache JMeter tests on Amazon EC2 instances or custom host lists.
JMeter-ec2 is a shell script that automates running Apache JMeter load tests on Amazon EC2 instances or custom host lists. It solves the problem of manually setting up and managing distributed load testing infrastructure by handling instance provisioning, test distribution, and results aggregation. The script enables scalable performance testing without requiring deep AWS or JMeter distributed mode expertise.
Performance testers, QA engineers, and developers who need to run distributed load tests with Apache JMeter, particularly those using AWS infrastructure or requiring scalable testing environments.
Developers choose JMeter-ec2 because it eliminates manual infrastructure management for distributed testing, provides real-time results aggregation, and supports both cloud (EC2) and on-premises testing scenarios. Its simplicity and automation reduce setup time while enabling cost-effective scaling through Spot Instance support.
Automates running Apache JMeter on Amazon EC2
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Handles instance provisioning, configuration, and termination automatically, as described in the EC2 Automation feature, saving significant manual effort in distributed testing setups.
Supports both AWS EC2 and custom host lists via the REMOTE_HOSTS property, enabling testing in cloud or on-premises setups without being locked into AWS.
Allows optional use of AWS Spot Instances by specifying a price parameter, reducing testing costs significantly for scalable loads, with guidance on bidding strategies in the README.
Collates and displays summary results from all hosts during execution using the Generate Summary Results listener, providing immediate feedback without waiting for test completion.
The README explicitly states 'JMeter V3 is not tested with this script,' making it potentially incompatible with newer JMeter versions and missing modern features or bug fixes.
Prohibits dynamic variables in thread counts and file paths, requiring numeric values only, which limits test flexibility and increases manual adjustments for complex scenarios.
Involves detailed AWS security group configuration and PEM file management, with common connection issues like 'lost connection' that require troubleshooting, as outlined in the README's lengthy error section.