This looks to be your first time creating a test on the Flood platform using the Test Builder. The Test Builder is a very easy to use tool designed to get you up and running with a simple, effective and repeatable load test scenario.
These easy to follow steps will ensure that you are able to launch a test with many users as well as getting to know Flood's intuitive user interface.
When first creating a test scenario or as Flood calls it a "Stream" - it's a good idea to seperate Streams and Floods by projects.
Please Note: If this is your first ever Flood then you will need to create the stream under the Default project initially. Once this Flood has been setup you will then be able to create new projects. Please continue to Step 2 if this is the case.
Create a new project called MyTestBuilderProject by pressing the following button on the projects page:
Type in the Name field: MyTestBuilderProject
Click CREATE PROJECT
Click on the MyTestBuilderProject newly created project.
You will see the following screen:
Click Create Flood
For Test Type - select the Test Builder, and Click CONTINUE >
For Test Name - enter SimpleTest1
This is where you can name your test. If you end your test name with a number, Flood will automatically increment it if you run more than one test using this Stream.
For Host - enter our purpose built load test site - https://flooded.io
For Test Steps - this is where we can add steps that will act as requests which will be used against the Host entered in Step 5.
For this step, we just want to add a simple GET request to the base URL so we can hit the front page. This can be done as follows:
Click Add Step...
This will add the first step with a / - signifying you would like to send a request to the base URL. You can ensure that the intended URL will be requested correctly in the URL preview down at the bottom of the Test Builder.
You can also check that the URL is reachable by clicking on the VERIFY button on the right hand side.
If all goes well, you should see a result of 200 OK as per below. This essentially means we can successfully reach the target URL from the Flood platform.
Let's now do a different, slightly more advanced request in the shape of a search query which uses the POST request method.
Using the same method in Step 6 - add a new step to our list.
Click Add Step...
On the method drop down list - Select POST
And type in - random?f=test123
Verify the URL to ensure you get another 200 OK response and then press CONTINUE to go to the final step of the Test Builder process.
So as we now have our test steps defined - we can start setting up the parameters of the scenario itself.
This includes the following:
- Users per region- how many concurrent users we want to simulate for the test.
- AWS Regions - the region(s) in AWS we want to simulate our users to originate from.
- Test Duration - how long we want our entire test to run for.
- Ramp-up - how long we want the ramp-up period at the start of the test to be before we reach the maximum number of users for this test.
For number of users - select 1,000 users per region on the slider widget.
For AWS Regions - select any region that you wish. The chosen region doesn't really matter for this exercise.
For Test Duration - Leave the Duration at 5 minutes and the Ramp Up time at 0.5 minutes.
The Ramp Up time is the time it will take to start the users from 0 to the target user amount (in this case 1,000) at the beginning of the test.
Click LAUNCH TEST
You should now be taken to a small window showing the status of your Grid starting up (in percentage terms), as well as the test files being sent to the nodes and finally waiting for initial data points from your running test.
The following user interface for test execution will be presented to you indicating that the test is running and key metrics are being collated by the Flood platform.
The main components of the execution dashboard are explained below:
- Performance Metrics - For every test we focus on 3 main test metrics; (i) Concurrent Users, (ii) Response Time, and (iii) Transaction Rate. These are considered the most important metrics when performing a load test and can help determine if your target system is healthy or struggling.
- Logs - Full diagnostics logs are available and often yield helpful information on the state of the scenario. Here errors are aggregated from a load test tool perspective which can aid in diagnosis if the test encounters problems.
- Transactions - These transaction labels were as you might recall, the two requests we setup in the Test Builder in the previous steps. Selecting each one will change the execution graph to display metrics specifically for the selected transaction. This is helpful if you would like to isolate a badly performing transaction during a test.
- Transaction Metrics - Response Time and Requests per Minute are displayed here for each transaction. These are both mean averages for the currently viewable timeframe of results.
- Error Rate - This area shows the percentage of passed / failed transactions as well as an arrow allowing you to drill-down to a sub page to see what error responses are being observed during the test.
You have just run your first 1,000 user load test using the Flood platform. We hope these steps were easy to follow and you are able to go on and do more advanced load testing scenarios.
As always, we are here to help you every step of the way so please don't hesitate to reach out to one of our knowledgable Customer Success Engineers or visit our Help area for some great guides to running your tests using Flood.
Happy Testing from Team Flood!