Ursache von Latenz diagnostizieren (LATENCY DOCTOR, Histogramm, commandstats)
RedisPerformanceBefehl
# Enable the latency monitor (record events above 100 ms):
CONFIG SET latency-monitor-threshold 100
LATENCY LATEST
LATENCY HISTORY command
LATENCY DOCTOR
# Per-command latency distribution and percentiles:
LATENCY HISTOGRAM GET SET HGETALL
INFO latencystats
# Most expensive commands by total CPU time:
redis-cli -h redis1 -p 6379 INFO commandstats | sort -t= -k3 -rn | head
# On the server host, baseline latency outside Redis (VM/steal detection, 30 s):
redis-cli --intrinsic-latency 30
LATENCY RESETWas es tut
Der Latency Monitor erfasst Latenzspitzen durch Ereignisse wie Fork, AOF-fsync, den Expire-Zyklus und langsame Befehle; zeigt Latenz-Perzentile pro Befehl und die teuersten Befehle nach gesamter CPU-Zeit; misst die Basislatenz auf Host-Ebene.
Wann einsetzen
Wenn die Anwendung p99-Latenzspitzen sieht und Beschwerden über Langsamkeit anhalten, obwohl SLOWLOG sauber ist.
Vorsicht
latency-monitor-threshold ist standardmäßig 0 (aus); stelle nach der Diagnose den alten Wert wieder her. SLOWLOG misst nur die Ausführungszeit von Befehlen und sieht keine Netzwerk- oder Warteschlangenzeiten; LATENCY-Events erfassen auch serverinterne Hänger wie Fork und fsync. --intrinsic-latency verbraucht CPU und muss auf der Maschine laufen, auf der der Redis-Server läuft.