Web load testing is different from web performance testing because it is very specifically focused on volume of traffic. Performance testing is focused on analyzing the speed of a single page. Load testing simulates a number of concurrent users moving through a web application or clicking around on a website.
The “web” part of web load testing also is significant. HTTP traffic is the key differentiator for web load testing as contrasted to load testing of a client server application.
Web load testing usually requires a tool that can generate large amounts of users taking certain actions against a target domain or set of servers. The objective is to measure the volume in metrics such as requests per second, concurrent users, or throughput of data (bandwidth consumed). Under heavy load, web servers will start to return status codes indicating errors are occurring. For instance, when the web system gets overwhelmed it may begin returning status codes of 500 (Internal Server Error). This indicates that all the processes building dynamic pages for the website are not getting the job done.
The web server gets the request and processes it to determine which html document is needed. In a typical web application, database queries are triggered to get user-dependent data in order to construct the response. Images, stylesheets, Javascript libraries, XML files, as well as custom html are pieced together by the application layer before it is returned through Apache or IIS.
Bottlenecks form in this complex process of responding to the user’s need for a page.
We can make a differentiation between website load testing and web application load testing.