AWS Logo
Menu

Scale Testing Made Simple: AWS Distributed Load Testing Solution

Quickly deploy AWS's Distributed Load Testing solution to simulate thousands of users, stress test your applications, and analyze performance

Qinjie Zhang
Amazon Employee
Published Mar 26, 2025
Distributed Load Testing on AWS is a comprehensive solution that helps you test the performance and scalability of your applications by simulating thousands of concurrent users. This blog provides a step-by-step guide to deploy and use this solution for effective load testing of your AWS workloads.

Deployment Process

1. Download the CloudFormation template from the AWS Solution documentation page.
2. Deploy the stack through the AWS Management Console:
  • Navigate to "CloudFormation > Stacks > Create stack"
  • Upload the downloaded template
3. Configure stack parameters:
  • Enter a valid email address to receive access credentials for the test web portal
4. Add resource tagging:
  • Implement consistent tagging for all resources created by the stack for better resource management and cost tracking
5. Complete stack creation:
  • Use default values for other parameters
  • Review configuration settings
  • Click "Create stack"
  • Wait for the stack to complete deployment.

Using the Solution for Testing

1. Access the test console:
  • Check your email for the access link, username, and temporary password
2. Initial login:
  • Use the provided credentials to log in
  • Reset your password when prompted during first login
3. Create and configure tests:
  • Choose between simple HTTP requests or upload custom Apache JMeter scripts
  • Configure test parameters including virtual users, duration, and endpoints
  • Set up test schedules as needed for recurring tests
4. Analyze test results:
  • Review comprehensive metrics and visualizations for each test
  • Examine response times, throughput, error rates, and other performance indicators
5. Multi-region testing:
  • Optionally, deploy additional stacks in other AWS regions to perform cross-region load testing
  • All tests can be managed from the same test portal interface.

Best Practices and Considerations

1. Container capacity planning:
  • Each task (container) uses 2 vCPU + 4GB RAM
  • Recommended concurrency: maximum 200 virtual users per task
  • Start with a small test to observe CPU/Memory utilization before scaling up
2. Service quota verification:
  • Check your AWS Fargate service quotas before large tests
  • Ensure you have sufficient vCPU and memory capacity for your planned test load
3. Cost tracking:
  • Enable cost allocation tags used in your deployment stack
  • Navigate to Billing and Cost Management > Cost Allocation Tags
  • Note that new tags may take up to 24 hours to appear in the cost allocation tags list
4. Resource management:
  • Track deployed resources through CloudFormation console
  • Use AWS Resource Explorer with your custom tags for comprehensive resource discovery
5. Cleanup considerations:
  • When deleting the CloudFormation stack, be aware that S3 buckets and DynamoDB tables containing test data will not be automatically deleted
  • These resources must be manually deleted to avoid ongoing storage charges

Cost Analysis

  • **Primary cost components**: AWS Fargate tasks are the main cost driver
  • **Sample monthly cost**: Approximately $31 per month for standard usage (detailed breakdown)
  • **Cost calculator**: Use the AWS Pricing Calculator to estimate costs for your specific testing requirements

Other References and Documentation

Alternative Load Testing Solutions in AWS Marketplace

If you need additional features or different capabilities, consider these alternatives:

Any opinions in this post are those of the individual author and may not reflect the opinions of AWS.

Comments