Learning center

FAQ

All commonly asked questions are posted here. Questions are classified by gategories to help you quickly access answers - click on a category below. Feel free to contact us if you are not able to find the answer here.

What metrics are reported for a URL?

For each URL in a test, we report what status codes the tested server has responded with, and for each of those status codes, we report the max, min and average reponse time, and the number of times we have seen that particular status code.

On the test results page, there is an expandable section labeled URLs” where you see a list of every URL included in the test, and some statistics about the URL. This is how it looks:

  1. Buttons to expand/collapse detailed information about a particular URL
  2. Expanded view for a particular URL, showing one or more status codes we have gotten for that URL, the number of times we have seen the status code(s) in question (“count”) and the minimum, maximum and last response time measurement for the status code [1]
  3. The number of “successful” transactions – i.e. transactions that resulted in status code <400 from the server [1]
  4. The number of “failed” transactions – i.e. transactions that resulted in status codes >=400 from the server

1 Among the status codes you will normally not see any 3xx redirects, as the default behaviour is to follow a redirect and then report the transaction time as the time from when the first (redirected) request was made and until the final (non-redirected) transaction was completed. This behaviour can be overridden – see the http.request method and the http.request_batch method.

Note also: In the URLs” overview section, you can see transaction time metrics called “Test min”, “Test max” and “Last”. These metrics are special: they are calculated by the client-side Javascript based on all the individual samples it has retrieved. “Test max” is the maximum transaction time seen at any point during the test, for the URL in question. “Test min” is similarly the minimum transaction time seen at any point, and “Last” is the last average transaction time seen for that URL. The “Last” value is usually only interesting for tests that are still running, as it shows you the current state of things.


More about results metrics

Response times, and other metrics, are measured continually throughout the test, in 3-second intervals. The load generator will record HTTP transaction times for each individual URL and every 3 seconds it reports the maximum, minimum and average transaction time seen for that URL during the most recent 3-second interval.

These values are stored in the results database, and downloaded by a client-side Javascript when you open your test result (or, in the case of a running test, results are downloaded incrementally as they are being generated). The Javascript code in your browser has access to all the individual data samples, but the graph component will aggregate data when necessary, in order to generate decent-looking graphs. The aggregation level depends on what zoom level you set your chart at. The chart can display up to about 170 points in a graph, which means that a 5-minute test (300 seconds) that has about 100 individual data samples (one sample every 3 seconds) can be shown in its entirety with no aggregation, while a 10-minute test will not quite fit into the 170 points but has to be slightly aggregated.

Currently these metrics are stored once every 3 seconds during a test, and can be graphed:

Metric Description tagged with2
Maximum transaction time Highest transaction time seen during 3-second sample period URL, HTTP response code, load zone, user scenario
Minimum transaction time Lowest transaction time seen during 3-second sample period URL, HTTP response code, load zone, user scenario
Average transaction time Average transaction time seen during 3-second sample period URL, HTTP response code, load zone, user scenario
Number of transactions Number of transactions seen during 3-second sample period URL, HTTP response code, load zone, user scenario
User load time Approximate load time as experienced by a user [3] load zone
Accumulated load time Sum of all individual transaction times during period load zone
Bandwidth usage Average bandwidth usage during 3-second sample period load zone
HTTP requests/second Average HTTP requests per second issued during 3-second sample period load zone
Failure rate Number of failed HTTP transactions per second during 3-second sample period load zone
Clients active Number of concurrent, simulated clients active at the end of the 3-second sample period load zone
Connections active Number of concurrent TCP connections used at the end of the 3-second sample period load zone

2 A result metric being tagged with something means that you can easily separate data based on the tag. I.e. if “Bandwidth usage” is tagged with “load zone” and you have executed a load test using the Tokyo and the Dublin load zones, it means you can plot one bandwidth graph displaying the bandwidth usage between your web server and Tokyo, and another graph displaying the bandwidth usage between your web server and Dublin. Transaction times are tagged with several things, which enables very advanced comparisons – i.e. you can plot a graph showing the maximum response times for the URL “http://www.dom.ain/index.html” when accessed by the Tokyo load zone alongside with the average reponse times for URL “http://www.dom.ain/index2.html” when accessed by the Dublin load zone.

3 User load time is the average time it has taken user scenarios (any user scenarios) to run to completion. Note that only time spent actively loading things is counted here – sleep statements in a load script are excluded. A user scenario will commonly take a lot more than 3 seconds to complete, however, so the data for each 3-second period will consist of the user scenario load times that were reported during this 3-second period (i.e. the actual user scenario execution would have happened earlier). In a future version of Load Impact, this metric will be reported per user scenario also (i.e. tagged with “user scenario”). Today, it is an aggregate of the load times for all user scenarios.


See also: - An introduction to the view test page
- What status codes are there?
   - What is the CSV export format?


Permalink