This report shows all responses that contained a status code that indicates a problem with fulfilling the request. Assuming that your web application has been functionally tested for bugs and the bugs have been fixed before load testing begins, errors are a key way to see when your app has performance problems.

Here is a small sample of a report that shows the error code, what requested resource caused the error, and how many times this resource received the error during this load test:

Web servers return errors to tell the user/browser that it did not properly handle the request, but what happens when the issue is such that the web server does not reply at all? That is common and must be addressed. LoadStorm logs two primary forms of errors that are not supplied by the web server:

  • Timeout (408) – this request has not been fulfilled by the server in 35 seconds.
  • No Connection (417) – there are no TCP connections available on this server.

The 408 timeout indicates that LoadStorm quit listening for a response to this request. It is impractical for the load testing tool to wait indefinitely for a response because there can be literally millions of requests outstanding at any given point in time, and LoadStorm could easily reach a state of “deadlock” waiting for responses that are never going to return from an overwhelmed target system. The 35 seconds has been chosen by our development team as a reasonable limit. Please remember that this time limit is for each request such as an image, CSS, Javascript, or HTML document. It is NOT 35 seconds for the entire page or step.

The 417 error indicates that LoadStorm has encountered a situation where HTTP protocol is a not viable communication method with the web server because a TCP connection has been refused. TCP is a lower layer in the network hierarchy, and when a TCP connection cannot be made with the host of a URL, then an HTTP request cannot be delivered from the user/browser to the web application. Thus, LoadStorm assigns a 417 into the status code field for reporting purposes to tell you that your web server is overloaded. This 417 condition is one of the most serious performance failures possible.

One common example of an error is when a request for a CSS file gets a response from the web server having status code = 500. This code is the server’s way of acknowledging that an internal error in the web application has occurred. This error code is defined by the W3C as, “The server encountered an unexpected condition which prevented it from fulfilling the request.” It isn’t very specific, so you have to dig deeper in your system’s log files to get an understanding of what may have caused the problem. However, for load testing purposes you can be assured that your target web application is experiencing performance failure. The frequency of reported errors is also a good clue to the severity of your system’s performance deficiencies. As volume of traffic increases, it is common to see more and more errors as the web application is unable to process the queue of requests.

Please follow this link to see the W3C’s full list of status codes with a description of their meaning.

Below is a partial screen shot that shows some instances where the web server returned to LoadStorm several Gateway Timeout errors indicated by the status code 503. This is a very useful report in LoadStorm that should be consulted any time the red line in the bottom graph shows errors. Not all errors are performance problems. For instance, some people get a long report full of 404 errors because certain images are not found where they should be. This is not load related.

Similar Posts