Vérifier la mémoire avec MEMORY STATS
Dans cette étape, nous allons apprendre à utiliser la commande MEMORY STATS
dans Redis pour surveiller et comprendre l'utilisation de la mémoire. Une gestion efficace de la mémoire est cruciale pour la stabilité et les performances de votre serveur Redis.
Pourquoi surveiller la mémoire ?
Redis est un magasin de données en mémoire (in-memory data store), ce qui signifie qu'il stocke toutes ses données dans la RAM. Si Redis manque de mémoire, cela peut entraîner une dégradation des performances, une perte de données, voire des plantages. La surveillance de l'utilisation de la mémoire vous permet d'identifier et de résoudre de manière proactive les problèmes potentiels liés à la mémoire.
Présentation de MEMORY STATS
La commande MEMORY STATS
fournit une vue d'ensemble détaillée de la consommation de mémoire de Redis. Elle décompose l'utilisation de la mémoire en différentes catégories, vous donnant un aperçu de l'endroit où votre mémoire est utilisée.
Guide étape par étape
-
Se connecter à Redis :
Connectez-vous à votre serveur Redis en utilisant la commande redis-cli
. Ouvrez un terminal dans votre VM LabEx et exécutez ce qui suit :
redis-cli
Cela ouvrira l'interface de ligne de commande Redis.
-
Exécuter MEMORY STATS
:
Une fois connecté, exécutez la commande MEMORY STATS
:
MEMORY STATS
Redis collectera alors les statistiques de mémoire et affichera les résultats.
-
Interprétation de la sortie :
La sortie de MEMORY STATS
est un dictionnaire de paires clé-valeur, où chaque clé représente une statistique de mémoire et la valeur représente sa valeur correspondante. Examinons un exemple de sortie et expliquons certaines des métriques clés :
127.0.0.1:6379> MEMORY STATS
1) "peak.allocated"
2) (integer) 1114480
3) "total.allocated"
4) (integer) 1114480
5) "startup.allocated"
6) (integer) 948480
7) "replication.buffer"
8) (integer) 0
9) "clients.slaves"
10) (integer) 0
11) "clients.normal"
12) (integer) 6456
13) "aof.buffer"
14) (integer) 0
15) "lua.vm"
16) (integer) 0
17) "overhead.total"
18) (integer) 165992
19) "keys.count"
20) (integer) 0
21) "keys.bytes-per-key"
22) (integer) 0
23) "dataset.bytes"
24) (integer) 948488
25) "dataset.percentage"
26) "0.00%"
27) "bytes-per-replica.avg"
28) (integer) 0
29) "bytes-per-replica.min"
30) (integer) 0
31) "bytes-per-replica.max"
32) (integer) 0
33) "allocator.fragratio"
34) "1.00"
35) "allocator.fragbytes"
36) (integer) 0
37) "allocator.rss"
38) (integer) 835584
39) "allocator.peak"
40) (integer) 1114112
41) "total.system"
42) (integer) 4194304
43) "allocator.resident"
44) (integer) 835584
Voici une explication de certaines des métriques clés :
peak.allocated
(Pic alloué) : La quantité maximale de mémoire que Redis a allouée depuis son démarrage.
total.allocated
(Total alloué) : La quantité totale de mémoire actuellement allouée par Redis.
dataset.bytes
(Taille des données) : La taille totale des données stockées dans Redis (hors surcharge).
overhead.total
(Surcharge totale) : La quantité totale de mémoire utilisée pour la surcharge de Redis (par exemple, les structures de données, les métadonnées).
keys.count
(Nombre de clés) : Le nombre de clés actuellement stockées dans Redis.
allocator.fragratio
(Taux de fragmentation de l'allocateur) : Le taux de fragmentation de l'allocateur de mémoire. Une valeur plus élevée indique une plus grande fragmentation.
allocator.rss
(RSS de l'allocateur) : La quantité de mémoire que Redis utilise, telle que rapportée par le système d'exploitation (Resident Set Size).
total.system
(Total système) : La quantité totale de mémoire disponible sur le système.
-
Quitter redis-cli
:
Pour vous assurer que les commandes sont enregistrées, quittez redis-cli
en tapant :
exit
Utilisation des informations
Les informations fournies par MEMORY STATS
peuvent être utilisées pour :
- Identifier les fuites de mémoire.
- Optimiser les structures de données pour réduire l'utilisation de la mémoire.
- Ajuster les paramètres de configuration de Redis pour améliorer l'efficacité de la mémoire.
- Déterminer si vous devez augmenter la quantité de RAM disponible pour votre serveur Redis.