top of page

Apdex: Measuring user satisfaction


Apdex: Measuring user satisfaction | New Relic Documentation

StartFragment

Apdex: Measuring user satisfaction

Apdex [external link] is an industry standard to measure users' satisfaction with the response time of web applications and services. It's a simplified Service Level Agreement (SLA) solution that gives application owners better insight into how satisfied users are, in contrast to traditional metrics like average response time, which can be skewed by a few very long responses.

Contents

  • Apdex measurements

  • Apdex levels

  • Apdex score

  • Error pages

  • Dissatisfaction percentage

  • For more help

Apdex measurements

Apdex is a measure of response time based against a set threshold. It measures the ratio of satisfactory response times to unsatisfactory response times. The response time is measured from an asset request to completed delivery back to the requestor.

The application owner defines a response time threshold T. All responses handled in T or less time satisfy the user.

For example, if T is 1.2 seconds and a response completes in 0.5 seconds, then the user is satisfied. All responses greater than 1.2 seconds dissatisfy the user.

You can define Apdex T values for each of your New Relic APM applications, with separate values for app server and end-user browser performance (page load timing). You can also define individual Apdex T thresholds for key transactions.

6:26

POWERED BY WISTIA [external link]

Loading...

Playing in 360p

● Auto

○ 360p

○ 540p

○ 720p

Switch to Flash

About Wistia [external link]

[video link] For an overview of Apdex, watch this video (approximately 6 minutes). View more videos and tutorials at learn.newrelic.com [external link] .

Apdex levels

Apdex tracks three response counts:

  • Satisfied: The response time is less than or equal to T.

  • Tolerating: The response time is greater than T and less than or equal to 4T. In this example, 4 x 1.2 = 4.8 seconds as the maximum tolerable response time.

  • Frustrated: The response time is greater than 4T.

The Time calculation will change based on your own app's T setting. In the following example, T = 1.2 seconds.

LevelMultiplierTime (T Example = 1.2)

SatisfiedT or less<= 1.2 seconds

Tolerated>T, <= 4TBetween 1.2 and 4.8 seconds

Frustrated> 4TGreater than 4.8 seconds

Your configuration file's apdex_f value is four times your app server's Apdex T value. This threshold is useful, for example, with transaction traces. For more information, see the configuration file documentation for your New Relic agent.

Apdex score

The Apdex score is a ratio value of the number of satisfied and tolerating requests to the total requests made. Each satisfied request counts as one request, while each tolerating request counts as half a satisfied request.

scald=516:sdl_editor_representation {"link":""}

The Apdex score is based on the ratio of satisfied and tolerating requests to the total requests made.

Example:

  • During a 2 minute period a server handles 200 requests.

  • The threshold T = 0.5 seconds (500ms). This value is arbitrary and is selected by the user.

  • 170 of the requests were handled within 500ms, so they are classified as Satisfied.

  • 20 of the requests were handled between 500ms and 2 seconds (2000 ms), so they are classified as Tolerating.

  • The remaining 10 were not handled properly or took longer than 2 seconds, so they are classified as Frustrated.

  • The resulting Apdex score is 0.9: (170 + (20/2))/200 = 0.9.

Error pages

Errors frustrate your users. Any request that raises a server-side error is considered a frustrating response, no matter how fast it returns to the user. Nobody likes to see a "500: Application Error" page. This makes it possible to have an average response time that is well below the Apdex T but still have a poor Apdex score.

Dissatisfaction percentage

The dissatisfaction percentage is the percentage of the total dissatisfaction experienced by the app's users that is contributed by this transaction.

Transaction % = (Frustrations(Transaction) + Tolerations(Transaction)/2)

App % = (Frustrations(App) + Tolerations(App)/2)

If a transaction is always frustratingly slow but rarely visited, it will not contribute much to the app's total dissatisfaction. Conversely, if a transaction normally is fast (for example, Apdex 0.95) but has high throughput, this may contribute a large proportion of the app's dissatisfaction simply because it contributes a large proportion of your app's traffic.

For more help

Additional documentation resources include:

  • Changing your Apdex settings (where to edit your Apdex settings)

  • Viewing your Apdex score (where the Apdex score appears in the interface)

  • APM Overview and Browser Overview (using the main pages in the New Relic UI)

  • Apdex Alliance [external link] (website with detailed information about Apdex)

Join the discussion about New Relic APM in the New Relic Community Forum [external link] ! The Community Forum is a public platform to discuss and troubleshoot your New Relic toolset.

If you need additional help, get support at support.newrelic.com [external link] .

EndFragment


bottom of page