Antworten:
Es ist das 99. Perzentil . Dies bedeutet, dass 99% der Anforderungen schneller sein sollten als die angegebene Latenz. Mit anderen Worten, nur 1% der Anforderungen dürfen langsamer sein.
Wir können es durch eine Analogie erklären: Wenn 100 Schüler ein Rennen laufen, sollten 99 Schüler das Rennen in "Latenz" -Zeit beenden.
Stellen Sie sich vor, Sie erfassen Leistungsdaten Ihres Dienstes und die folgende Tabelle enthält die Ergebnisse (die Latenzwerte sind fiktiv, um die Idee zu veranschaulichen).
Latency Number of requests
1s 5
2s 5
3s 10
4s 40
5s 20
6s 15
7s 4
8s 1
Die P99-Latenz Ihres Dienstes beträgt 7 Sekunden. Nur 1% der Anfragen dauert länger. Wenn Sie also die P99-Latenz Ihres Dienstes verringern können, erhöhen Sie dessen Leistung.
Nehmen wir ein Beispiel von hier
Request latency:
min: 0.1
max: 7.2
median: 0.2
p95: 0.5
p99: 1.3
Wir können also sagen, dass bei 99 Prozent der Webanfragen eine Latenz von 1,3 ms (ms / Mikrosekunden abhängig von den konfigurierten Systemlatenzmaßen) oder weniger festgestellt wurde. Wie @tranmq sagte, können wir die Leistung des Dienstes steigern, wenn wir die P99-Latenz des Dienstes verringern.
Und es ist auch erwähnenswert, dass p95, da es nur wenige Anforderungen gibt, p99 teurer macht als p95, z. B.) anfängliche Anforderungen, die den Cache aufbauen, Klassenobjekte aufwärmen, Threads initiieren ...
Schließlich; Bei unseren Messungen können etwa 1% Rauschen auftreten (z. B. Netzwerküberlastungen, Ausfälle, Dienstverschlechterungen), sodass die p99-Latenz ein guter Vertreter für praktisch den schlimmsten Fall ist. Und fast immer ist es unser Ziel, die p99-Latenz zu reduzieren.
Should
nichtwill
.