HTTP

../../_images/http-http.png

The HTTP task is used to test or monitor HTTP servers.

Running an HTTP task gives you a good overview of the performance of a website or web application, of the web server, and of the network between the web server and the Test Agent. You can request web pages and verify response codes from distributed locations inside or outside of your network.

When an HTTP task starts, the Test Agents will make an HTTP Get request towards the specified URL and fetch the response. No rendering is done of HTML pages, so no additional requests are made for linked resources, (images, CSS files, and so forth). Measured parameters include TCP connect time, time until first byte received, time until last byte received, and download speed.

Traffic is initiated by the Test Agents, and the HTTP server reciprocates by sending traffic to the Test Agents using the same ports. This setup makes it possible to run tests also when the Test Agents are located behind NAT.

HTTPS is supported, but no verification is done of the SSL certificate.

This task works with both IPv4 and IPv6.

Prerequisites

To run HTTP measurements you need to have at least one Test Agent installed. If you haven’t already done the installation, consult the installation guides found here.

In your test or monitor, add an HTTP task and fill in the mandatory parameters below:

Parameters

See the common parameters page for the following:

  • Parameters that are set on the test step level: Duration, Fail threshold, and Wait for ready.

  • SLA thresholds for monitors: SLA Good and SLA Acceptable.

  • Advanced settings common to all test tasks: Delayed start.

General

  • Clients: Test Agent interfaces to use as clients.

  • URL: URL that the Test Agents will request.

    Note: IPv6 addresses must be enclosed in brackets as per ► IETF RFC 2732. Example: http://[2001:470::9c66].

  • Time between requests (s): Time to wait between sending consecutive HTTP GET requests.

    Min: 0.01 s. Max: 3600 s. Default: 10 s.

Note

Take care not to set this parameter too low. If HTTP requests are sent at a higher rate than the web server can process them, requests will accumulate at the server and may overload it.

Thresholds for errored seconds (ES)

  • HTTP response code: HTTP status code that must be matched in the HTTP response. If the HTTP response code does not match this one, an errored second is triggered.

    Default: “200 OK”, the status code for a successful HTTP request.

  • Timeout (ms): If no response to the HTTP request is obtained within this time, an errored second is triggered.

    Min: 1 ms. Max: 30,000 ms. Default: 3000 ms.

  • Response content: The (case-insensitive) regular expression against which the HTTP response content will be validated.

    If the response content is larger than 100 KB, only the first 100 KB will be used in the match. The response content is decoded using the character set specified in the Content-Type HTTP header, or ISO 8859-1 if no encoding is specified. The Content-Type MIME must be “text/*”, otherwise the matching will fail.

Advanced

  • Request lifetime (ms): Maximum time the Test Agent will wait for an HTTP response before canceling the HTTP request.

    Min: 1 ms. Max: 30,000 ms. Default: 4000 ms.

  • Proxy server: If set, the specified IP address will be used as HTTP proxy server.

  • Proxy server port: Port to use as HTTP proxy port. Range: 1 … 65535. Default: 8080.

  • Proxy authentication: Authentication type used by proxy server.

    If set, Proxy username and Proxy password should also be entered. Note: Currently there is an issue with NTLM authentication that causes Paragon Active Assurance to measure too low connect time.

  • Proxy username: User name used for HTTP proxy authentication.

  • Proxy password: Password used for HTTP proxy authentication.

Result metrics

  • Connect time (ms): Time taken to set up a TCP connection to the web server (time from sending TCP SYN until receiving TCP ACK).

  • First byte received (ms): Time from sending the HTTP Get request until the first byte of the response is received. For a dynamic website, the server side may take a while to generate the response.

  • Response time average (ms): Average response time for the selected time period, that is, the average time taken to download the content from the URL.

  • Response time min (ms): Minimum response time during the selected time period.

  • Response time max (ms): Maximum response time during the selected time period.

  • Size (KiB): Length of the HTTP response, including HTTP headers.

  • Rate (Mbit/s): Download rate of the response. Calculated as the size of the response divided by the total response time.

  • ES timeout: Number of errored seconds triggered because no HTTP response was obtained before the Timeout period expired.

  • ES response: Number of errored seconds triggered by an invalid HTTP response or by the HTTP response code or content not matching the specified ones.

  • ES total: Aggregated errored seconds, taking into account all types of error.

  • SLA: Service level agreement fulfillment: equal to (100 – ES total) %.