When you complete development on a web application, even the most stringent functional and unit tests can miss the most visible flaw: your application doesn’t scale properly. The problem with evaluating scalability is that flaws can manifest anywhere in the application. You may be using a sorting algorithm that turns into molasses as the data set grows. Perhaps you have a query that creates a Cartesian join, or which falls over when one specific table grows beyond a certain point.
Many of these flaws can be found with code review or unit tests. Unfortunately often scaling problems are the result of a combination of problems that will only show up under actual loading. Your web application may even survive hammering by a single user, but has underlying architectural flaws that lock up the application when it is loaded by multiple users from multiple time zones.
Testing in the Real World
The best way to understand how your web applications will perform in the real world is to test them in the real world. The problem you face is that when you release your application you won’t have significant loading until it gains popularity. Once your application starts to gain a significant customer base is when you will see real scalability problems come out of the woodwork and that is the worst possible time for them to show up.
There are many cloud-based distributed test network to test your web application as it will be loaded in the real world. The test agents use leading cloud providers to access your application from locations around the world. This gives you feedback on how your web application performs with requests from various countries and time zones. You will get reports on how local bandwidth, routing, and latency affect the responsiveness of your application.
For example, you may use a global distributed content delivery network (CDN) to host your application’s static resources. The CDN’s cache has a high-speed link to your ISP, so all your localized testing shows strong performance and a responsive web application. However, testing from eastern Europe shows that the CDN doesn’t have the same connectivity with networks there. The result is that the pages for your web application load very slowly as the user agent waits for style sheets and images to load from the content delivery network.
No Need for a New CDN
This does not mean you need to find a new content delivery network. It gives you the opportunity to evaluate the CDN’s performance in markets you plan to target and make an informed decision with respect to handling of your static content. You may choose to find a new CDN, or you could tweak your application so that it doesn’t use the CDN for customers in specific locations.
Cloud-based distributed testing gives you better information about the performance of your web application with respect to both loading and global access. This gives you the ability to evaluate your performance decisions and make changes before you face loading problems instead of in the midst of them.