Why Load Test?
To identify performance bottlenecks in your application
A load/performance test can determine the components of your site that are the slowest. This tells you where to target your remediation efforts, and leads to a faster application. This is an iterative process where the remediation of one bottleneck leads to the uncovering of the next.
To discover the number of concurrent users that can concurrently access your application
It is extremely important to know this number. If anything coming up might cause the number of concurrent users to exceed your limit, immediate action must be taken to increase that number. Remediation can take many forms and some take a lot longer than others to implement.
To determine the amount of load that will break your application
While poor performance is an extremely bad thing, having your application crash or just become non-responsive is a whole lot worse. You must find out what can cause this to occur and take corrective action. It is also important to have a contingency plan in place - just in case. There is nothing worse than a successful marketing campaign, which brings in more customers than expected, causing your application to slow down and crash under the strain.
To determine your application’s behavior and performance under normal load
Learn how your application behaves under normal load and what the user experience is like.
To uncover 3rd-party issues under load
Almost every modern site has a lot of 3rd-party hosts included in their makeup. Some examples are analytics servers, ad servers, social media and content delivery networks. Some retail sites have over 100 hosts represented on their home page alone! Because these hosts are integrated into your site, a slowdown or failure of any one of them can hurt your customers' experience.
To be able to compare the performance before and after software upgrades
A baseline should be taken before any upgrade (application, application server, hardware...etc.) and a second test should be run after the upgrade. You want to know if the upgrade increased or decreased performance.
To performance tune the various components that make up your web application
High performing components do not guarantee a high performing application - but you can be sure that under-performing components DO guarantee poor performance of an application. Test early and often. Make sure that all of your components perform as well as possible.
To check for configuration issues (both hardware and software)
Configuration issues have been known to go unnoticed for years. Testing is a great way to run a full system diagnostic.
To understand which errors occur when your application is under load
The errors that occur when your system is under load will tell you where you need to focus your efforts to improve performance, scalability and stability.
To determine if your site recovers after the load is turned down - or off
It is not enough to determine how your site performs while it has an excessive number of visitors on it - you should also know what happens when that number of visitors goes down. Does your site recover gracefully and start responding faster and with less errors? Or, does it take a RESET of your application server or even the servers themselves before normal functioning can be restored?
To determine if your application has memory leaks
Since memory leaks are normally a slow process, automated testing is a good way to uncover any leaks. Running a steady load over an extended period - with a controlled environment is a great way to discover memory issues.