We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.
If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”
Customize cookie preferences
We use cookies and similar tools (collectively, "cookies") for the following purposes.
Essential
Essential cookies are necessary to provide our site and services and cannot be deactivated. They are usually set in response to your actions on the site, such as setting your privacy preferences, signing in, or filling in forms.
Performance
Performance cookies provide anonymous statistics about how customers navigate our site so we can improve site experience and performance. Approved third parties may perform analytics on our behalf, but they cannot use the data for their own purposes.
Allowed
Functional
Functional cookies help us provide useful site features, remember your preferences, and display relevant content. Approved third parties may set these cookies to provide certain site features. If you do not allow these cookies, then some or all of these services may not function properly.
Allowed
Advertising
Advertising cookies may be set through our site by us or our advertising partners and help us deliver relevant marketing content. If you do not allow these cookies, you will experience less relevant advertising.
Allowed
Blocking some types of cookies may impact your experience of our sites. You may review and change your choices at any time by selecting Cookie preferences in the footer of this site. We and selected third-parties use cookies or similar technologies as specified in the AWS Cookie Notice.
Your privacy choices
We display ads relevant to your interests on AWS sites and on other properties, including cross-context behavioral advertising. Cross-context behavioral advertising uses data from one site or app to advertise to you on a different company’s site or app.
To not allow AWS cross-context behavioral advertising based on cookies or similar technologies, select “Don't allow” and “Save privacy choices” below, or visit an AWS site with a legally-recognized decline signal enabled, such as the Global Privacy Control. If you delete your cookies or visit this site from a different browser or device, you will need to make your selection again. For more information about cookies and how we use them, please read our AWS Cookie Notice.
Distributed Load Testing on AWS automates performance testing at scale, showing how your applications will behave under different load conditions and identifying potential performance issues throughout your applications' lifecycle (including development, staging, production, and post-production). This AWS Solution simulates users and transactions ranging from hundreds to millions, generating consistent transactions without the need for user or server provisioning.
The solution provides insights into crucial areas, such as the scalability and reliability of Amazon Elastic Compute Cloud (Amazon E2) instances, Amazon Elastic Container Service (Amazon ECS), or Amazon Elastic Kubernetes Service (Amazon EKS), the cold start and execution times of AWS Lambda functions, Amazon Relational Database Service (Amazon RDS) database query performance, and Amazon CloudFront response times. By simulating realistic load scenarios, you can optimize your infrastructure for both performance and cost-efficiency.
Benefits
Optimize resource costs
Right-size your infrastructure by gaining accurate insights into how your applications perform under varying load conditions, resulting in cost-effective resource allocation.
Automate load testing
Automate your load tests by scheduling them or incorporating this solution into your continous integration, continuous delivery (CI/CD) pipeline, streamlining your testing process.
Account for global users
Simulate real-world traffic from multiple AWS Regions to assess how your application behaves under diverse geographic loads, optimizing global performance.
Adapt quickly with JMeter
Design and integrate distributed load testing seamlessly with JMeter scripts, allowing you to customize tests for your application’s unique needs.
Technical details
You can automatically deploy this architecture using the implementation guide and the accompanying AWS CloudFormation template for AWS Regions.
Step 8 During initial configuration, the solution also creates a default solution administrator role and sends an access invite to a customer-specified user email address.
Step 9 An Amazon Cognito user pool manages user access to the console and the API Gateway API.
Step 10 After you deploy this solution, you can use the web console to create a test scenario that defines a series of tasks.
Step 11 The microservices use this test scenario to run Amazon ECS on Fargate tasks in the AWS Regions specified.
Step 12 In addition to storing the results in Amazon S3 and DynamoDB, the output is logged in Amazon CloudWatch once the test is complete.
Step 13 If you select the live data option, the solution sends the CloudWatch logs for the Fargate tasks to a Lambda function during the test, for each Region in which the test was run.
Step 14 The Lambda function then publishes the data to the corresponding topic in AWS IoT Core in the Region where the main stack was deployed. The web console subscribes to the topic, and you can see the data while the test runs in the web console.
Step 5 The containers include a Taurus load testing Open Container Initiative (OCI)-compliant container image which is used to generate load for testing your application’s performance. Taurus is an open-source test automation framework. The container image is hosted by AWS in an Amazon Elastic Container Registry (Amazon ECR) public repository.
Step 6 A web console powered by AWS Amplify is deployed into an S3 bucket configured for static web hosting.
Step 7 Amazon CloudFront provides secure, public access to the solution’s website bucket contents.
Step 8 During initial configuration, the solution also creates a default solution administrator role and sends an access invite to a customer-specified user email address.
Step 9 An Amazon Cognito user pool manages user access to the console and the API Gateway API.
Step 10 After you deploy this solution, you can use the web console to create a test scenario that defines a series of tasks.
Step 11 The microservices use this test scenario to run Amazon ECS on Fargate tasks in the AWS Regions specified.
Step 12 In addition to storing the results in Amazon S3 and DynamoDB, the output is logged in Amazon CloudWatch once the test is complete.
Step 13 If you select the live data option, the solution sends the CloudWatch logs for the Fargate tasks to a Lambda function during the test, for each Region in which the test was run.
Step 14 The Lambda function then publishes the data to the corresponding topic in AWS IoT Core in the Region where the main stack was deployed. The web console subscribes to the topic, and you can see the data while the test runs in the web console.
Step 5 The containers include a Taurus load testing Open Container Initiative (OCI)-compliant container image which is used to generate load for testing your application’s performance. Taurus is an open-source test automation framework. The container image is hosted by AWS in an Amazon Elastic Container Registry (Amazon ECR) public repository.
Step 6 A web console powered by AWS Amplify is deployed into an S3 bucket configured for static web hosting.
Step 7 Amazon CloudFront provides secure, public access to the solution’s website bucket contents.
Step 8 During initial configuration, the solution also creates a default solution administrator role and sends an access invite to a customer-specified user email address.
Step 9 An Amazon Cognito user pool manages user access to the console and the API Gateway API.
Step 10 After you deploy this solution, you can use the web console to create a test scenario that defines a series of tasks.
Step 11 The microservices use this test scenario to run Amazon ECS on Fargate tasks in the AWS Regions specified.
Step 12 In addition to storing the results in Amazon S3 and DynamoDB, the output is logged in Amazon CloudWatch once the test is complete.
Step 13 If you select the live data option, the solution sends the CloudWatch logs for the Fargate tasks to a Lambda function during the test, for each Region in which the test was run.
Step 14 The Lambda function then publishes the data to the corresponding topic in AWS IoT Core in the Region where the main stack was deployed. The web console subscribes to the topic, and you can see the data while the test runs in the web console.
Step 5 The containers include a Taurus load testing Open Container Initiative (OCI)-compliant container image which is used to generate load for testing your application’s performance. Taurus is an open-source test automation framework. The container image is hosted by AWS in an Amazon Elastic Container Registry (Amazon ECR) public repository.
Step 6 A web console powered by AWS Amplify is deployed into an S3 bucket configured for static web hosting.
Step 7 Amazon CloudFront provides secure, public access to the solution’s website bucket contents.
Step 8 During initial configuration, the solution also creates a default solution administrator role and sends an access invite to a customer-specified user email address.
Step 9 An Amazon Cognito user pool manages user access to the console and the API Gateway API.
Step 10 After you deploy this solution, you can use the web console to create a test scenario that defines a series of tasks.
Step 11 The microservices use this test scenario to run Amazon ECS on Fargate tasks in the AWS Regions specified.
Step 12 In addition to storing the results in Amazon S3 and DynamoDB, the output is logged in Amazon CloudWatch once the test is complete.
Step 13 If you select the live data option, the solution sends the CloudWatch logs for the Fargate tasks to a Lambda function during the test, for each Region in which the test was run.
Step 14 The Lambda function then publishes the data to the corresponding topic in AWS IoT Core in the Region where the main stack was deployed. The web console subscribes to the topic, and you can see the data while the test runs in the web console.
Step 5 The containers include a Taurus load testing Open Container Initiative (OCI)-compliant container image which is used to generate load for testing your application’s performance. Taurus is an open-source test automation framework. The container image is hosted by AWS in an Amazon Elastic Container Registry (Amazon ECR) public repository.
Step 6 A web console powered by AWS Amplify is deployed into an S3 bucket configured for static web hosting.
Step 7 Amazon CloudFront provides secure, public access to the solution’s website bucket contents.
"At Calabrio, our mission is to help contact centers work smarter, faster and better. We needed to design a new, high-performing feature for a major customer -- fast. We used Distributed Load Testing on AWS to test our system’s performance at scale, without the need for costly enterprise testing licenses or writing custom orchestration code for open-source tools. With this AWS Solution, we designed and executed tests at six times the expected traffic volume and launched the new feature successfully and ahead of schedule."
Daryl Robbins
Senior Director, Engineering
Related content
Video
Solving with AWS Solutions: Distributed Load Testing
AWS Architecture Blog
Ensure Optimal Application Performance with Distributed Load Testing on AWS
Whether you’re a private enterprise or a public sector service, you need confidence that your application can scale with increased user loads. Distributed Load Testing on AWS allows you to automate application testing, understand how it will perform at scale, and fix bottlenecks before releasing your application.