Have you abandoned a web service, because it took too long to load? I bet you have, everyone does that every now and then with slow applications. There are a lot of services to check load times, but is it the only thing to check about website’s performance worldwide? Certainly not! It is just one thing to check, not the only one. You may have performance tested the service locally and validated that everything works just fine. But that doesn’t mean it’s the same, when you access it from another continent.
Once you are about to offer your product to customers worldwide, you better make sure the service is ready. Swift operation for users from another side of the globe is even more important for applications that work with media. You know how painful it is to have a video conference with lags, don’t you? Testing worldwide operation is a must for any service, especially if it is a WebRTC application. In this blog post we will show how you can make sure your web service works smoothly worldwide.
Create a test script for real-life scenario
Once your test is ready, you can run it with as little as one participant, to make sure it works as you expected. With our free trial you can run multiple tests, that should be enough to debug your test script. If you have already upgraded your subscription to a paid plan, there is a session recording mode available to you in Loadero to help you with the debugging task. This mode will record a video of the whole test run for later reviewing. You will be able to see if any unexpected things happen during your test run. How to use our session recording mode along with other test script debugging techniques is described in this blog post. Once you are happy with how your performance test works, you are ready for testing the website’s performance worldwide!
How to run a test with worldwide coverage for just 0.6 USD
The free trial subscription allows you to use two different regions for your test participants: Oregon(US West) and North Virginia(US East). So for a worldwide test you will need a subscription plan upgrade. We offer a pay as you go plan with which you pay only for the compute units you use, and the price is 0.05 USD per unit. Read more about compute units and how to set them in this blog post. Loadero has 12 locations to launch tests from, so you can configure a single participant per location and run a test with worldwide coverage for just 0.6 USD, if you use G1 compute units. Yes, that is true, less than a dollar to test your website’s performance worldwide. If you are testing a WebRTC app or your application requires more compute power on participant side, choosing G2 compute units will make your test with 12 participants cost 1.2 USD. If your service will work only in certain regions, you can choose relevant locations, here is the full list:
- Hong Kong
- São Paulo
- North Virginia
There are other participant settings that can give you valuable insights about your service operation along the way. You can set network type (3G/4G/Edge and other), packet loss percentage, jitter and latency time. Read more about testing with different network conditions in our blog.
Once you have set all participants for your test, hit the “Run test” button. When your test finishes running, it is time to analyze the results report, and see if your service works fine on every continent.
Analyzing test results report
If it is your first time working with the results report in Loadero, we strongly advise having at least a brief look at performance metrics in Loadero report explanation post. In the summary view you can choose the “Location” filter and instantly see if any participants in any of the chosen locations have failed or timed out.
When testing an application handling users worldwide, you should check user machine and network data in the “Machine statistics” graph. You can filter statistics, like Min and Max values by clicking on the tabs. Usually issues in handling users worldwide can be found there. Check if client machine CPU or RAM usage was too high. See how many network errors per second were there during the tests run. Make sure amount of packets transmitted and received per second was fine on average and also check the minimum value.
Another great way to validate performance metrics of every participant is by using post-run asserts. Asserts can be added in the test edit (creation) view. You can assert total network bytes, bitrate, total packets, packet loss and network errors for both incoming and outgoing data of every participant. As we mentioned before, testing worldwide is especially important for WebRTC applications and Loadero allows you to create asserts for WebRTC statistics. With them you can validate participants’ audio and video bitrate, jitter, packets count, packet loss and audio volume in various locations.
Use of asserts can save you time on analyzing reports. Here is a post that will help you to learn to use post run asserts. When you have your test created with all the participants and asserts set, you can rerun the test to make sure your service works perfectly for all users across the globe with various network conditions in a matter of minutes. Regular testing is a good way to catch bottlenecks and improve the experience of end users. That is why we strongly advise running such tests every now and then. Once you are happy with the results, consider running some load tests to be prepared for an increase in traffic. If you run your performance tests in Loadero, transforming them to load tests will take only about 15 minutes.
That’s it, by following the steps we have described here, you can check your website’s performance worldwide and make sure you are ready to market it internationally. In case of any issues, you will be able to find them early and fix them, so that they do not make the user experience worse. Visit www.loadero.com and subscribe for a free trial. You will have 14 days to write your test scripts, run and debug them to prepare for the actions described in this blog post. If you will require any assistance, don’t hesitate to contact our helpful support team at email@example.com