4 minutes read
Before running a load test for APIs, WebSites, Web or Mobile Applications on LoadFocus.com, you should check the tips below and understand which HTTP response codes you could receive and what do they mean. This article will help to analyze a load test report or a performance testing report.

General Tips

  • make sure the load tested URL is up and publicly available before running any load or performance tests
  • check the HTTP method (GET is the request done by browsers when accessing a website or an API endpoint)
  • start with a small number of clients (25-50 clients) and check the number of errors
  • try to increase the number of the clients gradually to understand how your API, Website or WebApp behaves
  • check the Time, Latency, Hits, Throughput and Errors for each test to check the performances of your system

If you receive 3xx redirection responses you need to check:

  • if the URL added for the load test is doing any redirects to another URL
  • if you are testing the redirection, try to do the load test on the final URL, after the redirects end
  • remove the “Follow redirects” checkbox next to the URL if you want to avoid redirecting your requests and do the load test on the URL added

If you receive 4xx client errors you need to check:

  •     the URL is correct and publicly available
  •     check the HTTP Method used: GET, POST, PUT or DELETE (GET is the request done by browsers when accessing a website or an API endpoint)
  •     the request headers, cookies, query params or basic HTTP auth params are set correctly

If you receive 5xx server errors you need to check:

  • the response code, usually if the load tested API, WebSite, Web or Mobile Application doesn’t handle the load properly you’ll start receiving 503 Service Unavailable responses.
  • try to reduce the number of clients (concurrent users) for your load test and check the boundaries of your system
If the tested APIs, WebSites, Web or Mobile Applications don’t handle the load properly you’ll start receiving 5xx (server errors) or other connection errors.
According to w3schools.com, here is a list of HTTP status messages that might be returned on running a load test for API Endpoints, WebSites, Web and Mobile Applications:

1xx: Information

100 Continue  The server has received the request headers, and the client should proceed to send the request body
101 Switching Protocols The requester has asked the server to switch protocols
103 Checkpoint Used in the resumable requests proposal to resume aborted PUT or POST requests

2xx: Successful

200 OK The request is OK (this is the standard response for successful HTTP requests)
201 Created The request has been fulfilled, and a new resource is created
202 Accepted The request has been accepted for processing, but the processing has not been completed
203 Non-Authoritative Information The request has been successfully processed, but is returning information that may be from another source
204 No Content The request has been successfully processed, but is not returning any content
205 Reset Content The request has been successfully processed, but is not returning any content, and requires that the requester reset the document view
206 Partial Content The server is delivering only part of the resource due to a range header sent by the client

3xx: Redirection

300 Multiple Choices A link list. The user can select a link and go to that location. Maximum five addresses
301 Moved Permanently The requested page has moved to a new URL
302 Found The requested page has moved temporarily to a new URL
303 See Other The requested page can be found under a different URL
304 Not Modified Indicates the requested page has not been modified since last requested
306 Switch Proxy No longer used
307 Temporary Redirect The requested page has moved temporarily to a new URL
308 Resume Incomplete Used in the resumable requests proposal to resume aborted PUT or POST requests

4xx: Client Error

400 Bad Request The request cannot be fulfilled due to bad syntax
401 Unauthorized The request was a legal request, but the server is refusing to respond to it. For use when authentication is possible but has failed or not yet been provided
402 Payment Required Reserved for future use
403 Forbidden The request was a legal request, but the server is refusing to respond to it
404 Not Found The requested page could not be found but may be available again in the future
405 Method Not Allowed A request was made of a page using a request method not supported by that page
406 Not Acceptable The server can only generate a response that is not accepted by the client
407 Proxy Authentication Required The client must first authenticate itself with the proxy
408 Request Timeout The server timed out waiting for the request
409 Conflict The request could not be completed because of a conflict in the request
410 Gone The requested page is no longer available
411 Length Required The “Content-Length” is not defined. The server will not accept the request without it
412 Precondition Failed The precondition given in the request evaluated to false by the server
413 Request Entity Too Large The server will not accept the request, because the request entity is too large
414 Request-URI Too Long The server will not accept the request, because the URL is too long. Occurs when you convert a POST request to a GET request with a long query information
415 Unsupported Media Type The server will not accept the request, because the media type is not supported
416 Requested Range Not Satisfiable The client has asked for a portion of the file, but the server cannot supply that portion
417 Expectation Failed The server cannot meet the requirements of the Expect request-header field

5xx: Server Error

500 Internal Server Error A generic error message, given when no more specific message is suitable
501 Not Implemented The server either does not recognize the request method, or it lacks the ability to fulfil the request
502 Bad Gateway The server was acting as a gateway or proxy and received an invalid response from the upstream server
503 Service Unavailable The server is currently unavailable (overloaded or down)
504 Gateway Timeout The server was acting as a gateway or proxy and did not receive a timely response from the upstream server
505 HTTP Version Not Supported The server does not support the HTTP protocol version used in the request
511 Network Authentication Required The client needs to authenticate to gain network access

Other: Connection Error

The URL added for the load test could not be accessed for one of the following reasons:
– the URL is not publicly accessible (we support only URLs which can be accessed publicly via Internet)
– the system crashed for some reason
For the load testing documentation please click here.

How fast is your website? Free Website Speed Test