Download Speed Test

Download speed is one of the key indicators of network health. Administrators often download files of varying sizes from sites; a faster download could reduce bandwidth utilization considerably, and save costs. In an era where time is money, slow downloads, can only result in doubling the cost of using a web service. The Download Speed test downloads files from a set of configured URLs, and in the process, measures the speed of every file download, thus enabling administrators to accurately judge the efficiency of an internet service and to arrive at service levels.

This test is disabled by default. To enable the test, go to the enable / disable tests page using the menu sequence : Agents -> Tests -> Enable/Disable, pick Client Desktop as the desired Component type, set Performance as the Test type, choose the test from the disabled tests list, and click on the < button to move the test to the ENABLED TESTS list. Finally, click the Update button.

Target of the test : A Client Desktop component

Agent deploying the test : An internal agent

Outputs of the test : One set of outputs for every URL being monitored

Configurable parameters for the test
Parameter Description

Test Period

How often should the test be executed.

Host

The IP address of the host for which this test is to be configured.

Port

The port to which the specified Host listens

URL

The web page being accessed. While multiple URLs (separated by commas) can be provided, each URL should be of the format URL name:URL value. URL name is a unique name assigned to the URL, and the URL value is the value of the URL. For example, a URL can be specified as HomePage:http://192.168.10.12:7077/, where HomePage is the URL name and http://192.168.10.12:7077/ is the URL value.

CookieFile

Whether any cookies being returned by the web server need to be saved locally and returned with subsequent requests

ProxyHost

The host on which a web proxy server is running (in case a proxy server is to be used).

ProxyPort

The port number on which the web proxy server is listening.

ProxyUserName

The user name of the proxy server.

ProxyPassword

The password of the proxy server.

Confirm Password

Confirm the password by retyping it here.

Content

Is a set of instruction:value pairs that are used to validate the content being returned by the test. If the Content value is none:none, no validation is performed. The number of pairs specified in this text box, must be equal to the number of URLs being monitored. The instruction should be one of Inc or Exc. Inc tells the test that for the content returned by the web server to be valid, the content must include the specified value (a simple string search is done in this case). An instruction of Exc instructs the test that the server's output is valid if it does not contain the specified value. In both cases, the content specification can include wild card patterns. For example, an Inc instruction can be Inc:*Home page*.

Credentials

The DownSpeedTest supports HTTP authentication. The Credentials parameter is to be set if a specific user name / password has to be specified to login to a page. This parameter is a comma separated list of user name:password pairs, one pair for each URL being monitored. A value of none:none indicates that user authorization is not required. Please be sure to check if your web site requires HTTP authentication while configuring this parameter. HTTP authentication typically involves a separate pop-up window when you try to access the page. Many sites uses HTTP POST for obtaining the user name and password and validating the user login. In such cases, the username and password have to be provided as part of the POST information and NOT as part of the Credentials specification for the DownSpeedTest.

TimeOut

Here, specify the maximum duration (in seconds) for which the test will wait for a response from the server. The default TimeOut period is 30 seconds.

Measurements made by the test
Measurement Description Measurement Unit Interpretation

Availability

This measurement indicates whether the server was able to respond successfully to the query made by the test.

Percent

Availability failures could be caused by several factors such as the web server process(es) being down, the web server being misconfigured, a network failure, etc. Temporary unavailability may also occur if the web server is overloaded. Availability is determined based on the response code returned by the server. A response code between 200 to 300 indicates that the server is available. 

Response time

This measurement indicates the time taken by the server to respond to the requests it receives.

Secs

Response time being high denotes a problem. Poor response times may be due to the server being overloaded or misconfigured. If the URL accessed involves the generation of dynamic content by the server, backend problems (e.g., an overload at the application server or a database failure) can also result in an increase in response time.

TCP connection availability

This measure indicates whether the test managed to establish a TCP connection to the server.

Percent

Failure to establish a TCP connection may imply that either the web server process is not up, or that the process is not operating correctly. In some cases of extreme overload, the failure to establish a TCP connection may be a transient condition. As the load subsides, the server may start functioning properly again.

TCP connect time

This measure quantifies the time for establishing a TCP connection to the web server host.

Secs

Typically, the TCP connection establishment must be very small (of the order of a few milliseconds). Since TCP connection establishment is handled at the OS-level, rather than by the application, an increase in this value signifies a system-level bottleneck on the host that supports the web server.

Server response time

This measure indicates the time period between when the connection was established and when the server sent back a HTTP response header to the client.

Secs

While the total response time may depend on several factors, the server response time is typically, a very good indicator of a server bottleneck (e.g., because all the available server threads or processes are in use).

Response code

The response code returned by the server for the simulated request

Number

A value between 200 and 300 indicates a good response. A 4xx value indicates a problem with the requested content (eg., page not found). A 5xx value indicates a server error.

Content length

The size of the content returned by the server

Kbytes

Typically the content length returned by the server for a specific URL should be the same across time. Any change in this metric may indicate the need for further investigation on the server side.

Content validity

This measure validates whether the server was successful in executing the request made to it.

Percent

A value of 100% indicates that the content returned by the test is valid. A value of 0% indicates that the content may not be valid. This capability for content validation is especially important for multi-tier web applications. For example, a user may not be able to login to the web site but the server may reply back with a valid HTML page where in the error message, say, "Invalid Login" is reported. In this case, the availability will be 100 % (since we got a valid HTML response). If the test is configured such that the content parameter should exclude the string "Invalid Login," in the above scenario content validity would have a value 0.

Data transfer time

Indicates the time taken for the download to complete.

Secs

A consistent increase in this value could be a cause for concern.

Throughput

Indicates the speed of the download.

Kbps

This value is calculated as a ratio of Content_length and Data_xfer_time. Ideally, this value should be high.