What is AWS DLT?
Distributed Load Testing on AWS helps you automate the testing of your software applications at scale and at load to identify bottlenecks before you release your application. This solution creates and simulates thousands of connected users generating transactional records at a constant pace without the need to provision servers.
For more info, please refer to AWS documentation:
Learn more about DLT and AWS architecture.
Objectives
- Prerequisites
- Configuration Overview
- Conclusion
Prerequisites
Users also need access to AWS S3, CloudFormation, the Basic Amazon elastic container service (ECS), and CloudWatch.
Configuration Overview
How to Launch the Configuration Using a CloudFormation Template
AWS CloudFormation is used to automate the deployment of Distributed Load Testing on AWS. The following AWS CloudFormation template is included, which you can download before deployment. Launch the solution and its components using this template.
Default configurations include Amazon Elastic Container Service (Amazon ECS), Amazon Faregate, Amazon Virtual Private Cloud (Amazon VPC), Amazon Lambda, Amazon Simple Storage Service (Amazon S3), AWS Lambda, Amazon Simple Storage Service (Amazon S3), AWS Step Functions, Amazon DynamoDB, Amazon CloudWatch Logs, Amazon API Gateway, Amazon Cognito, AWS Identity and Access Management (IAM), and Amazon CloudFront, but it is also possible to customize the template to meet your network needs.
Step 1: Create a CloudFormation stack for the DLT web console so users can access the dashboard and perform load tests.
For creating the CloudFormation stack please refer to the below details reference link, it’s a time activity.
As soon as the CloudFormation stack is launched, all the components shown on the architecture diagram will be created
Additionally, the DLT dashboard username and password will be provided to the user once the stack is completed.
Step 2: The AWS DLT dashboard will appear once you log in with the received credentials
Step 3: The dashboard has three sections: Dashboard, create test, and manage.
So, to create a load test, we need to click on ‘Create Test’.”
Once you upload the JMX files or zip files and click on ‘Run Now,’ you will see the load test details as shown below
Step 4: To verify if the load test is working properly, there are options to click on the Amazon ECS console and the Amazon CloudWatch metrics dashboard.
- Amazon ECS console: It is useful for monitoring test results and failures via containers. Please refer to the information below.
In the ECS console user can verify all the running test scenarios in containers.
- Amazon CloudWatch metrics dashboard: To verify the test logs, you need to log in to Amazon CloudWatch.
Step 5: Once all the tests are successfully executed, you can see the results on the dashboard, as shown below.
Step 6: All the results are stored in an S3 bucket after the completion or failure of tests, and you can find all the details there
Note: You can only upload JMX files and not CSV files. Therefore, it seems like we need to create a zip file to run the tests. You can run only one test at a time, as it works in a loop.
DLT on AWS is a powerful approach that combines scalability, flexibility, and cost-efficiency, making it an ideal choice for developers and businesses looking to ensure the performance and reliability of their applications under varying loads.