Following on from the first installment of our experiment to try and find which processor in the EC2 family of instances has the best price/performance we need to look out how we’ll determine performance.
Cloudformation
AWS fortunately has a really cool blueprint for load testing.
It is really easy to deploy via CloudFormation, and you really only need to supply two parameters:
- Administrator Name
- Administrator Email
You can leave all the other parameters with theit default settings.
Create Test
Once the Cloudformation has completed building the load testing application, you will get an email that looks like the following:
You can now click on the link in the email, login with the username and password and you can setup a new test.
JMeter scripts or simple GET (Simple Test) requests are possible options to create a new test. You are also able to configure:
- Task Count
- Concurrency
- Ramp Up
- Hold
- Payload
- Headers
which makes the Simple Test reasonably powerful.
To use JMeter scripts you need to create a script using something like the JMeter proxy setup.
For our use case, we will just use the Simple Test.
Running
Once you have created a test, you can start it, update it or look at the details of previous tests.
You can view the test and logs as it is running in ECS.
The metrics are sent to CloudWatch and you can view the metrics updated as the runs.
Finally the results are displayed as the test runs and a final set summarising the results over the run are presented with definitions of the result metrics:
Summary
The AWS Distributed Load Testing Blueprint is a really easy way to get up and running. It costs practically nothing to have deployed, and a few cents to dollars to run tests (Depending on how you use it, and your use case. I take no responsibility for your AWS costs).