As 5 billion people around the world self-isolate, more and more of our daily interactions take place over the Internet. Retailers Around the World transferring customer service from offices to online, schools and educational institutions trying to find alternatives on the internet, and even family communication is transferred to Zoom and Webex together with our working meetings (with children and pets in the background).
Unlike the more established peaks of Internet traffic, such as Black Friday or Valentine’s Day, Internet sites simply did not have months to prepare their sites for all this Internet traffic. Despite the lack of a predictive factor, performance testing is crucial if you want your business to work in these volatile times.
For those of you who are looking for answers to questions about how to test the performance of your site in order to properly prepare for the upcoming weeks, here are 8 tips that we learned from working with our customers on stress testing over the past 10 years.
Top Tips for Successful Performance Testing
1. Run stress tests from a production environment
This is the only way to ensure that your testing is accurate and that each item is checked correctly. We recommend that you choose a time when you expect low traffic, and Simulate loads from multiple geographic locations and environments.
2. Scale your tests from small to large and then to huge
If you are in a hurry to test a large influx of users, you may accidentally skip the load level at which you may have problems at the moment, because you missed too many levels at the same time. Accelerate little by little, and then increase your tests more and more. Before each test, stop to track the results and make sure you are satisfied with them before moving on to the next level. At BlazeMeter, we start with debugging testingwhich runs as a functional test, just to make sure that the test does what you want it to do. Then we spend calibration tests. This calibration is done to ensure that the test platform on which the test is being performed is not really a bottleneck. Now we can move on to the highlight of the program: performance testing. Start testing with 10% of the target load and gradually increase to the full target load. Make sure that the acceleration is gradual so that you can control the symptoms.
You can also run burst testing to see how your system responds to a sudden jump in the number of users and how it recovers. We also recommend that you bring your system to its maximum load, even if it exceeds the target number of users, so that you are aware of the reaction of your system.
Here’s what a bottleneck might look like. The number of hits / s decreases, and the response time increases sharply:
3. Schedule tests
You can also plan how to fulfill your business goals. Together with your team, determine which tests you need. Here are the types of tests you can run:
Stress tests – stress tests are designed to determine the behavior of the system at the expected load.
Stress tests – Stress tests can help you understand the strength limits of the system.
Endurance testing – used to test the ability of the system to withstand the constant expected load.
Burst Testing – Helps you test the ability of the system to withstand sharp and fast loads.
Insulation test – This is a repeated test to check whether a known system error or a problem previously detected in the same test has been fixed.
Take your business goals, as well as your knowledge about where your product works best and where not very well, and select the appropriate tests for them. When performing these tests, keep in mind the following 2 goals:
- Find critical places. Examine your system to find out what its weaknesses are and why. Configure alert dashboards for these critical locations.
- Separate your system and test each item individually. Not all parts of your system will receive the same load and the nature of the traffic. Identify various opportunities and weaknesses and take action.
4. Monitoring internal stress test results
Load testing allows you to view and analyze Kpi performance, such as response time and latency, as well as correlations between them. But it’s also important to look at key performance indicators such as Cache Hits and DB Queries, look at the error log for exceptions, and look at standard hardware features like CPU / memory / network utilization and auto-scaling status.
Various solutions expand the possibilities of analyzing test results. DX APM, New Relic, App Dynamics, and other solutions provide application performance monitoring and end-user monitoring, while Amazon Cloud Watch tracks AWS cloud resources.
5. Include end-user performance monitoring in backend testing
Automatically or manually analyze what your users experience with the unique BlazeMeter feature – monitoring end-user experience. New functional testing capabilities run the Selenium test in the background while the load test is running through Taurus. The Selenium test creates a Waterfall Report, which shows what the user will see in their web browser at different times during the load test. This can be especially useful when debugging, for example, because a certain page was not loaded properly from the user’s point of view at a certain point in the load test.
6. Configure backup servers and locations
Failures can happen even with Beyoncé (well, not with Beyoncé). By creating backup servers and locations, you can be sure that you are ready to continue to provide services in a very short time.
7. Check your third-party integrations
When you make changes to your application or website, you are not just influencing your own product. You can also influence third-party scripts in your application or site, or you can cause third-party devices and servers to crash if you don’t prepare them properly. For example, different CDNs require different approaches, and AWS (ELB) load balancing requires warming before balancing.
Despite the fact that this is part of what you are testing, we recommend that you contact your partners in advance and make all necessary preparations. This ensures that the load test will take into account their training and full capabilities (instead of partial capabilities, as this can happen if they do not have the opportunity to prepare). It also saves you time and effort, since you do not need to solve common external problems that could be easily fixed.
8. Implement API monitoring
After you finish testing, you will still want to know how your site behaves “in the wild.” You can use the opportunities BlazeMeter 360 Degree Monitoring to monitor your critical APIs in a production environment, to ensure that your website or application is functioning properly. It will serve as a warning system so that you know when your system does not work as expected.
Ready to start testing your site’s performance? You can free Take advantage of BlazeMeter Continuous Testing Platform and start testing your site in the next few minutes. Sign up hereto start testing.