Glossar · Performance
Perzentil-Latenz
Englisch: Percentile latency
Auch genannt: p95, p99, Latenz-Perzentil, Perzentile
Definition
Ein Antwortzeitmaß wie p95 oder p99, das angibt, innerhalb welcher Zeit dieser Anteil der Anfragen abgeschlossen war, und so den langsamen Ausläufer sichtbar macht.
Die Perzentil-Latenz beschreibt Antwortzeiten nach Rang statt nach Durchschnitt. Das p95 ist der Wert, den 95 % der Anfragen erreicht oder unterschritten haben; nur die langsamsten 5 % dauerten länger. p50 ist der Median, also die typische Erfahrung. p99 und p99.9 beschreiben den Ausläufer (Tail): die langsamsten Anfragen, die Nutzer oft bemerken und über die sie sich beschweren.
Warum Perzentile besser sind als Durchschnittswerte
Nehmen Sie 100 Anfragen: 90 dauern 100 ms und 10 dauern 2.000 ms.
| Kennzahl | Wert |
|---|---|
| Durchschnitt | 290 ms |
| p50 (Median) | 100 ms |
| p95 | 2.000 ms |
| p99 | 2.000 ms |
Der Durchschnitt von 290 ms beschreibt keine einzige Anfrage, die tatsächlich stattgefunden hat. Er wirkt akzeptabel, und doch hat jeder zehnte Nutzer zwei Sekunden gewartet. Die Perzentile zeigen beide Fakten: Die meisten Anfragen sind schnell, und der Ausläufer ist sehr langsam. Durchschnittswerte werden zudem von wenigen extremen Ausreißern verzerrt, der Median nicht.
Der Ausläufer ist wichtiger, als es scheint. Ein einzelner Seitenaufruf löst oft viele Backend-Aufrufe aus, und eine Nutzersitzung umfasst viele Seitenaufrufe. Ein großer Teil der Nutzer trifft daher während eines Besuchs auf mindestens eine Anfrage, die so langsam ist wie das p99.
Perzentile in Tests verwenden
Performanceziele und Gates sollten als Perzentile formuliert werden. In k6:
export const options = {
thresholds: {
http_req_duration: ['p(50)<200', 'p(95)<500', 'p(99)<1500'],
},
};
Berichten Sie mehrere Perzentile gemeinsam (p50, p95, p99, Maximum), zusammen mit Durchsatz und Fehlerrate, denn jede Kennzahl erzählt einen anderen Teil der Geschichte.
Häufige Fehler
- Perzentile mitteln. Der Mittelwert der p95-Werte von zehn Servern ist nicht das Gesamt-p95. Perzentile müssen aus den zusammengeführten Rohdaten oder aus zusammenführbaren Histogrammen berechnet werden.
- Zu wenige Messwerte. Ein p99 aus 200 Anfragen beruht auf zwei Datenpunkten. Lassen Sie den Test lange genug laufen, um aussagekräftige Mengen im Ausläufer zu haben.
- Fehler ignorieren. Eine Anfrage, die nach 5 ms schnell fehlschlägt, kann die Latenz besser aussehen lassen. Lesen Sie die Latenz immer zusammen mit der Fehlerrate.
- Coordinated Omission. Ein Lasttool, das auf jede langsame Antwort wartet, bevor es die nächste Anfrage sendet, schickt während Verlangsamungen unbemerkt weniger Anfragen und unterschätzt dadurch die Tail-Latenz. Lasterzeugung nach Ankunftsrate (offenes Modell) verringert dieses Problem.