What's it for
In detail, load testing is the process of evaluating the behavior and performance of a system under a specific load. It's a non-functional black box test. This type of test is essential to determine how an application behaves when multiple users access it at the same time. It helps you to know the maximum operational capacity of an application, determine if the current infrastructure is sufficient to run the application and then have valuable metrics to be able to size it correctly.
Why it is essential
Before going into production a software product must pass many functional and non-functional tests, but you will never know before going into production if your app or infrastructure is correctly sized and able to handle the actual demands of a real load. Knowing in advance any limitations of your application will save you time and therefore money, as well as make your work professional. The Load Test gives confidence in the entire system, its reliability and performance. It helps you identify bottlenecks in the system in user stress scenarios before they occur in a production environment. Load tests offer excellent protection against poor performance and adapt complementary strategies for performance management and monitoring of a production environment.
The load test with Storm
There is a substantial difference between Storm and all other enterprise class products, We don't simulate a load, but we generate a real load. Our Load Test is the only one that guarantees you a real load, thanks to our extensive network of nodes, the network of which you are part. With Storm you will be able to simulate the real behavior of your application, precisely because requests to your infrastructure come from a wide variety of nodes on machines with different performance, from different connections (speed, latency etc.) and from different geographical locations around the world. With our Load Test you can simulate an exceptionally high number of users.
For each load test you perform you will get in-depth data such as DNS Lookup time, TCP connection time, TLS handshake time, First Byte time, total transfer time, total request time and many other parameters. For each of these metrics you will get the minimum, maximum, average and Gaussian distribution graphs. Optionally if the machines have the stormnode installed, the storm agent, you can have other metrics directly from the machines involved and then cross-reference the data and have an even more complete test.
How to perform the load test
To do a load test with storm is very simple, the only thing you need to do is to check the address of your application. This is an essential step for everyone's safety. After checking the address you can proceed to create your first Load test by choosing all the parameters needed for a custom test, you can choose the number of users who will participate in the test, you can choose which and how many requests to make in succession. You can also choose between different types of algorithms, such as a continuous test for a defined time span or the load distributed on a curve.
After the first test
The load test of a software is not only essential in the first release in production, but is fundamental in the complete life of the software. With Storm you can schedule load tests over time and be updated in real time on the status of the application. For example, you might want to take a test every night and always be sure that your app is healthy and ready to welcome your users. Thanks to our agent and its great versatility you can integrate a load test into a release pipeline, simply by configuring a workflow directly from the dashboard with a simple drag&drop.