La fonctionnalité Latency insight vous fournit des statistiques de latence avec une précision à la microseconde pour toutes les commandes et événements personnalisés sur une instance Tair (compatible avec Redis OSS). Utilisez-la pour identifier précisément quels événements ont provoqué un pic de latence, quand cela s'est produit et quelle en était la gravité, en analysant les dimensions des événements, du temps et de la latence.
Prérequis
Avant de commencer, assurez-vous que votre instance Tair (compatible avec Redis OSS) respecte les exigences de version mineure suivantes. Pour mettre à jour la version mineure, consultez la rubrique Mettre à jour la version mineure d'une instance.
| Type d'instance | Version mineure minimale | Notes |
|---|---|---|
| Instance Tair (Edition Entreprise) basée sur DRAM | 1.6.9 | Pour collecter les statistiques des commandes du module Tair, mettez à jour vers la version 1.7.28 ou ultérieure |
| Redis Open-Source Edition 5.0 | 5.1.4 | |
| Redis Open-Source Edition 6.0 | 0.1.15 | |
| Redis Open-Source Edition 7.0 | 7.0.0.6 |
Fonctionnement de Latency insight
Redis 2.8.13 a introduit une surveillance native de la latence, mais elle ne conserve les données que des 160 dernières secondes et n'enregistre que l'événement à la latence la plus élevée par seconde.
Latency insight étend cette fonctionnalité avec :
Persistance : conserve toutes les statistiques de latence des trois derniers jours, permettant le suivi des pics de latence dans le temps
Haute précision : mesures précises à la microseconde pour tous les événements
Hautes performances : implémentation asynchrone avec une surcharge minimale
Requêtes en temps réel : prend en charge les requêtes et l'agrégation de données en direct
Statistiques multidimensionnelles : analyse une instance selon jusqu'à 27 événements, plages horaires et distributions de latence
Facturation
Cette fonctionnalité est gratuite.
Afficher les statistiques de latence
Connectez-vous à la console DAS.
Dans le volet de navigation de gauche, sélectionnez Intelligent O&M Center > Instance Monitoring.
Repérez l'instance que vous souhaitez analyser, puis cliquez sur son ID d'instance pour ouvrir la page des détails de l'instance.
Dans le volet de navigation de gauche, sélectionnez Request Analysis > Latency Insight.
Sur la page Latency Insight, sélectionnez une plage horaire pour afficher les statistiques de latence de cette période.
Seules les données des trois derniers jours sont disponibles et chaque requête ne doit pas couvrir plus d'une heure.
Pour les instances en cluster ou les instances avec séparation lecture/écriture, vous pouvez consulter les statistiques des Data Node et des Proxy Node.
Seules les commandes ou les événements qui dépassent le seuil configuré sont enregistrés et affichés. Pour obtenir des conseils sur la résolution des événements de latence courants, consultez la rubrique Suggestions for handling common latency events .

Référence des métriques
| Métrique | Description |
|---|---|
| Events | Nom de l'événement |
| Total | Nombre total d'occurrences |
| Ave. Latency (μs) | Temps d'exécution moyen côté serveur, en microsecondes |
| Max. Latency (μs) | Temps d'exécution maximal côté serveur, en microsecondes |
| Aggregation of instances (Latency < 1 ms) | Nombre d'occurrences dont la latence est inférieure à 1 ms. Cliquez sur <1μs, <2μs, <4μs, <8μs, <16μs, <32μs, <64μs, <128μs, <256μs, <512μs. Méthode de comptage : Le compartiment <1μs compte les occurrences de 0 μs à 1 μs ; <2μs compte de 1 μs à 2 μs ; et ainsi de suite. |
<2ms<4ms ... >33s |
Nombre d'occurrences dans chaque plage de millisecondes. Méthode de comptage : Le compartiment <2ms compte les occurrences de 1 ms à 2 ms ; >33s compte tout ce qui dépasse 33 secondes ; et ainsi de suite. |
Cliquez sur un nombre dans le tableau pour ouvrir un graphique de tendance pour cet événement. Vous pouvez également spécifier les métriques que vous souhaitez afficher sur le graphique en sélectionnant les noms des métriques dans la liste déroulante située au-dessus du graphique.
Événements spéciaux courants
Le tableau suivant répertorie les événements surveillés par Latency insight, regroupés par catégorie. Chaque événement est enregistré uniquement lorsque son temps d'exécution dépasse le seuil indiqué.
| Catégorie | Événement | Seuil | Ce qu'il mesure |
|---|---|---|---|
| Expulsion de mémoire | EvictionDel | 30 ms | Temps nécessaire pour supprimer les clés expulsées lors d'un cycle d'expulsion |
| EvictionLazyFree | 30 ms | Temps nécessaire aux threads d'arrière-plan pour libérer la mémoire lors d'un cycle d'expulsion | |
| EvictionCycle | 30 ms | Durée totale du cycle d'expulsion : sélection et suppression des clés, plus attente des threads d'arrière-plan | |
| Défragmentation de la mémoire | ActiveDefragCycle | 100 ms | Temps nécessaire pour effectuer un passage de défragmentation de la mémoire |
| Rehash | Rehash | 100 ms | Temps nécessaire pour effectuer un rehashing de dictionnaire |
| Mise à niveau de la structure de données | ZipListConvertHash | 30 ms | Temps nécessaire pour convertir une ziplist en dictionnaire à l'aide de l'encodage hash |
| IntsetConvertSet | 30 ms | Temps nécessaire pour convertir un intset en set à l'aide de l'encodage set | |
| ZipListConvertZset | 30 ms | Temps nécessaire pour convertir une ziplist en skiplist à l'aide de l'encodage ziplist | |
| Fichier Append-only file (AOF) | AofWriteAlone | 30 ms | Temps nécessaire pour écrire un AOF comme prévu |
| AofWrite | 30 ms | Temps total d'écriture AOF. Chaque écriture génère un événement AofWrite et exactement l'un des suivants : AofWriteAlone, AofWriteActiveChild ou AofWritePendingFsync |
|
| AofFstat | 30 ms | Latence Fstat | |
| AofRename | 30 ms | Temps nécessaire pour renommer le fichier AOF | |
| AofReWriteDiffWrite | 30 ms | Temps nécessaire au processus parent pour écrire les données AOF incrémentielles pendant qu'un processus enfant réécrit l'AOF | |
| AofWriteActiveChild | 30 ms | Temps nécessaire pour écrire l'AOF lorsqu'un autre processus enfant écrit également sur le disque | |
| AofWritePendingFsync | 30 ms | Temps nécessaire pour écrire l'AOF lorsqu'une opération fsync en arrière-plan est déjà en cours | |
| Fichier de base de données Redis (RDB) | RdbUnlinkTempFile | 50 ms | Temps nécessaire pour supprimer le fichier RDB temporaire après la fin d'un processus enfant bgsave |
| Autres | Commands | 30 ms | Temps d'exécution des commandes régulières non marquées @fast |
| FastCommand | 30 ms | Temps d'exécution des commandes marquées @fast (complexité temporelle O(1) ou O(log N)) |
|
| EventLoop | 50 ms | Temps nécessaire pour terminer une itération de la boucle d'événements principale | |
| Fork | 100 ms | Temps nécessaire pour appeler une opération fork |
|
| Transaction | 50 ms | Temps d'exécution total d'une transaction | |
| PipeLine | 50 ms | Temps consommé par un pipeline multithread | |
| ExpireCycle | 30 ms | Temps nécessaire pour exécuter un passage de nettoyage des clés expirées | |
| ExpireDel | 30 ms | Temps nécessaire pour supprimer les clés expirées lors d'un cycle de nettoyage | |
| SlotRdbsUnlinkTempFile | 30 ms | Temps nécessaire pour supprimer le fichier RDB temporaire d'un slot après la fin d'un processus enfant bgsave |
|
| LoadSlotRdb | 100 ms | Temps nécessaire pour charger un fichier RDB à partir d'un slot | |
| SlotreplTargetcron | 50 ms | Temps nécessaire pour charger un fichier RDB d'un slot dans une base de données temporaire et le migrer vers la base de données de destination à l'aide d'un processus enfant |
Étapes suivantes
Si vous observez une latence constamment élevée pour certains événements, consultez la rubrique Suggestions for handling common latency events pour obtenir des conseils de remédiation.