Diagnostiquer l'origine de la latence (LATENCY DOCTOR, histogramme, commandstats)
RedisPerformancesCommande
# 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 RESETCe que fait la commande
Le latency monitor enregistre les pics de latence issus d'événements comme le fork, le fsync AOF, le cycle d'expiration et les commandes lentes ; affiche les percentiles de latence par commande et les commandes les plus coûteuses en temps CPU total ; mesure la latence de base au niveau de l'hôte.
Quand l'utiliser
Quand l'application voit des pics de latence p99 et que les plaintes de lenteur persistent alors que le SLOWLOG est vide.
Attention
latency-monitor-threshold vaut 0 par défaut (désactivé) ; rétablissez l'ancienne valeur après le diagnostic. SLOWLOG ne mesure que le temps d'exécution des commandes et ne voit pas les attentes réseau ou de file ; les événements LATENCY capturent aussi les blocages internes au serveur comme le fork et le fsync. --intrinsic-latency consomme du CPU et doit s'exécuter sur la machine qui héberge le serveur Redis.