Lexikon · A

Apdex

Ein Wert zwischen 0 und 1, der die Zufriedenheit mit Antwortzeiten gegenüber einem Zielwert T bewertet.

Von Obseria-RedaktionAktualisiert

Definition

Apdex (Application Performance Index) ist ein offener Standard, der Antwortzeiten in einen Zufriedenheitswert zwischen 0 und 1 übersetzt. Jede Anfrage gilt als zufrieden (höchstens Schwellwert T), tolerierend (über T bis 4T) oder frustriert (über 4T). Der Score ergibt sich als (zufrieden + tolerierend / 2) / Gesamtzahl.

Was Apdex ist

Apdex, kurz für Application Performance Index, ist ein offener Standard, um die Zufriedenheit von Nutzern mit der Reaktionsgeschwindigkeit einer Anwendung auszudrücken. Statt eines Latenz-Histogramms oder mehrerer Perzentile verdichtet Apdex alle Antwortzeiten eines Zeitfensters zu einer Zahl zwischen 0 (alle Nutzer frustriert) und 1 (alle Nutzer zufrieden). Die Apdex Alliance hat den Standard Mitte der 2000er-Jahre veröffentlicht, seitdem ist er in vielen APM-Werkzeugen eingebaut.

Das Prinzip ist einfach: Pro Anwendung oder Transaktion legen Sie genau einen Zielwert fest, den Schwellwert T. Alles Weitere leitet sich daraus ab.

Die Apdex-Formel

Jede Messung, meist eine Anfrage oder ein Seitenaufruf, fällt in eine von drei Zonen:

  • Zufrieden (satisfied): Antwortzeit ≤ T.
  • Tolerierend (tolerating): Antwortzeit > T und ≤ 4T.
  • Frustriert (frustrated): Antwortzeit > 4T.

Der Score berechnet sich so:

Apdex_T = (zufrieden + tolerierend / 2) / Anzahl aller Messungen

Zufriedene Messungen zählen voll, tolerierende zur Hälfte, frustrierte gar nicht. Üblich ist die Schreibweise mit dem Schwellwert, etwa 0,91 [0,5] für einen Score von 0,91 bei T = 0,5 Sekunden. Die meisten Werkzeuge werten fehlgeschlagene Anfragen unabhängig von ihrer Dauer als frustriert, denn ein schneller Fehler ist kein gutes Erlebnis. Prüfen Sie dieses Verhalten, bevor Sie Werte aus verschiedenen Systemen vergleichen.

Die Apdex-Spezifikation schlägt Bewertungsstufen vor: 0,94 bis 1,00 exzellent, 0,85 bis 0,93 gut, 0,70 bis 0,84 ordentlich, 0,50 bis 0,69 schlecht und unter 0,50 inakzeptabel. Verstehen Sie diese Stufen als Orientierung, nicht als Vertragswert.

Rechenbeispiel

Eine beispielhafte Checkout-API hat T = 300 ms, die Frustrationsgrenze 4T liegt damit bei 1,2 s. In einem Fünf-Minuten-Fenster verarbeitet sie 10.000 Anfragen:

ZoneRegelAnfragenGewicht
Zufrieden≤ 300 ms8.8001
Tolerierend300 ms bis 1,2 s9000,5
Frustriert> 1,2 s oder Fehler3000

Apdex = (8.800 + 900 / 2) / 10.000 = 9.250 / 10.000 = 0,925, nach den Standardstufen also „gut“. Was die Zahl verschweigt: Die 300 frustrierten Anfragen können Timeouts bei einem einzigen Zahlungsanbieter sein oder ein langsamer Tail, der alle Nutzer gleichmäßig trifft. Um das zu unterscheiden, brauchen Sie weiterhin Traces und die Verteilung der Latenz.

Den Schwellwert T richtig wählen

T ist die wichtigste Entscheidung und wird trotzdem oft vernachlässigt. Viele Werkzeuge bringen einen Standardwert wie 0,5 Sekunden mit, der für eine interne 20-ms-API bedeutungslos und für einen Report-Export zu streng ist. Bewährt hat sich:

  • T pro Transaktionstyp festlegen. Suche, Checkout und Datei-Upload wecken unterschiedliche Erwartungen.
  • T aus Nutzererwartungen ableiten, nicht aus der aktuellen Performance. Wer T aus dem heutigen Median bestimmt, misst nur, dass sich nichts verändert hat.
  • Für Frontends echte Nutzerdaten verwenden. Messen Sie Seiten im Browser per Real User Monitoring, denn die Serverzeit ist nur ein Teil der Wartezeit.
  • T stabil halten. Jede Änderung an T verändert die Bedeutung aller historischen Werte.

Apdex im Vergleich zu Perzentilen und SLOs

Apdex lässt sich leicht kommunizieren, verdichtet aber Information. Zwei sehr unterschiedliche Verteilungen können denselben Score ergeben, und die starre 4T-Regel unterscheidet nicht zwischen einer Anfrage mit 1,3 s und einer mit 30 s. Deshalb bevorzugen die meisten SRE-Teams heute Latenz-SLOs wie „99 % der Checkout-Anfragen sind innerhalb von 28 Tagen schneller als 400 ms“. Ein SLO definiert zusätzlich Zeitfenster und Error Budget und eignet sich damit für Release-Entscheidungen. Apdex bleibt nützlich als schneller, normierter Gesundheitsindikator auf einem Dashboard und um Transaktionen mit unterschiedlichen Schwellwerten nebeneinander zu vergleichen.

Apdex in Frontend und Backend

Apdex lässt sich auf unterschiedliche Messgrößen anwenden, und das Ergebnis hängt stark davon ab, was Sie messen. Im Backend ist die Grundlage meist die Dauer des Server-Spans einer Transaktion. Im Browser zählt dagegen, wann die Seite für den Nutzer tatsächlich bereit ist, also inklusive Netzwerk, Rendering und Skriptausführung. Ein Backend-Score von 0,98 kann deshalb mit einem deutlich schlechteren Frontend-Score einhergehen. Halten Sie beide Sichten getrennt, benennen Sie die zugrunde liegende Messgröße eindeutig und vergleichen Sie nur Werte, die auf derselben Grundlage berechnet wurden. Synthetische Checks liefern zusätzlich einen stabilen Referenzwert, weil sie unter kontrollierten Bedingungen von festen Standorten aus messen.

Typische Fehler

  • Ein globaler Standardwert für T über alle Services hinweg.
  • Apdex-Werte von Services mit sehr unterschiedlichem Traffic mitteln, wodurch Endpunkte mit wenig Last zu stark gewichtet werden.
  • Fehler ignorieren, sodass ein schnell scheiternder Service perfekt zufrieden wirkt.
  • Bei kleinen Einbrüchen in verkehrsarmen Zeiten alarmieren, wenn wenige langsame Anfragen den Score stark bewegen.

Wie Obseria unterstützt

Obseria speichert Spans und RUM-Events mit Schema-on-Read in Obseria Lake. Zufriedene, tolerierende und frustrierte Anfragen lassen sich so aus den Rohdauern jedes Service oder jeder Seite ableiten, und Sie können später mit einem anderen Schwellwert neu rechnen. Ergänzend stehen Perzentile, Fehlerraten sowie SLOs mit Error Budgets zur Verfügung, die in jedem Tarif enthalten sind.

Häufig gestellte Fragen

Messungen bis zum Schwellwert T zählen als zufrieden, Messungen über T bis 4T als tolerierend, alle übrigen als frustriert. Apdex = (zufrieden + tolerierend / 2) / Gesamtzahl. Das Ergebnis liegt zwischen 0 und 1.

Die Apdex-Spezifikation bewertet Werte ab 0,94 als exzellent, 0,85 bis 0,93 als gut und 0,70 bis 0,84 als ordentlich. Ob ein Wert ausreicht, hängt aber viel stärker von einem sinnvoll gewählten Schwellwert T ab als von der Stufe selbst.

Der Apdex-Standard legt die Grenze 4T als einfache Faustregel fest: Ab dem Vierfachen des Zielwerts gelten Nutzer als frustriert. So bleibt das Modell bei einem einzigen Parameter, allerdings auf Kosten der Flexibilität.

Für Zuverlässigkeitsziele, Alerting und Release-Entscheidungen eignen sich SLOs besser, weil sie Zeitfenster und Error Budget festlegen. Apdex kann sie als leicht lesbarer Zufriedenheitsindikator ergänzen, sollte aber nicht das einzige Latenzsignal sein.

Setzen Sie das Wissen in die Praxis um

Testen Sie Obseria 14 Tage kostenlos, mit OpenTelemetry und ohne proprietäre Agenten.