Load testing is a leading indicator. In business and economics, a leading indicator is something that suggests a greater change is about to come. We can apply that concept, too, to load testing: load testing’s a leading indicator of greater issues in your app or site.
Load testing primarily indicates the performance of your site or app under pressure. The more requests (in an API, too) or the more sessions and users, the lower your performance likely is. So load testing helps you dig up leading indicators of performance issues.
That’s the straightforward, easy part - the discovering there are performance issues.
The hard part is finding what causes the performance issues.
That’s why load testing is essential. And it’s the gateway to many other tools to help you find what’s causing your performance issues. Here are some general categories you’ll want to explore to find the solutions to the performance issues you’ve uncovered with your load testing.
Code. Sad to say, we developers are often responsible for the performance issues. Check all of your app metrics and your site logs, and of course check any/all dependencies and make sure each piece can handle what you’re throwing at it. And, of course, this is just the tip of the iceberg of exploration.
Architecture. Check your architecture. Often, sites and apps that have expanded over time need some streamlining. Are there too many servers involved? How’s your data caching? Explore these areas.
Configuration. As above, here’s where DevOps really shines. It takes some experience to make sure each piece in the stack is optimally configured. And it takes some experience - and some discovery tools - to find out what all the pieces in the stack are to begin with. Even something as simple as a default WordPress installation on a standard hosting provider may be running on an outdated version of PHP - and a simple control panel setting will speed up the site’s performance just through making sure the latest version of PHP is in use.
Monitoring and Profiling. When a problem’s particularly elusive, you may need to turn to your monitoring and profiling tools to hunt it down. Are address validations, for example, pulling excessive CPU cycles, returning too much data, or coming from a slow third-party API? Only by monitoring internal activity and external traffic can you find these kinds of elusive issues.
We hope these general categories help you use load testing as the leading indicator for finding your performance challenges.
Happy testing!