AWS Distributed Load Testing Solution
We all have common question, when we migrate application to AWS or any other environment that, how my application performance is now and how it scaling on different load.
AWS provide Distributed Load Testing Solution, to implementation automates software applications testing at scale and at load to help you identify potential performance issues before their release. It creates and simulates thousands of connected users generating transactional records at a constant pace without the need to provision servers.
Distributed load testing is part of AWS solution, so this is not service you will find with AWS console. To implement this, you have to find this service from AWS solution page and then from there, it provide option to use their cloud formation template to get related services created to your account and after wards, it provide one URL(UI) option where you would be able to setup test and run.
Note: When you use cloud formation, in backend it create/configure many related services like DynamodDB table to store the test configuration setup, S3 bucket to hold test execution result, Lambda functions to process the tests and log the result to DynamodDB as per test configured, and also when you run test, it actually run on container (ESC), so it create those containers on run and automatically get dropped when run is finished.
Demo:
Go to AWS solution page and there go to explore AWS solution implementation : https://aws.amazon.com/solutions/
Search for "Distributed load test" and then navigate to that link and it will open up the documentation page:
From above screenshot(documentation page), use "Launch in the AWS console" option, which will land you to the AWS console cloud formation create screen and by default, template from S3 will be selected to created. (Make sure you are already logged in with AWS console).
Use Next click and here, you need to provide "Admin user name" and "email id" and this user name would be require to do login with distributed load testing UI and password for this user will be sent to the email id you will enter here and then on first login, you will ask to change your password.
Once you finish all the steps, it will take few minutes to complete and then from output tab, you will find the distributed load test UI link, copy that and use that link to login and make sure you check your email, where you must have been received the password for login:
Post successful login, it will redirect you to dashboard, where you will have option to create test and see the existing test result:
I created test for MyPrimeAcademy home url to test with 2 containers(users) which will put 5 request each and each request hold for 10 second.
While you do create, you have option to use JMeter script as well, where it will ask you simply upload the script.
Also you can either run it just after create or you have option to schedule on time interval to run.
Once test is completed, you would be able to see the result from dashboard and navigate to your test detail:
Categories/Tags: Distributed Load Testing~Load Testing