DBAtlas · Atlas d'exploitation des bases de données

Diagnostiquer l'origine de la latence (LATENCY DOCTOR, histogramme, commandstats)

RedisPerformances

Commande

# 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 RESET

Ce 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.

Ouvrir dans DBAtlas →

Voir aussi