Il est difficile d'identifier les clés gourmandes en mémoire avant qu'elles ne causent des problèmes lorsque votre instance Redis est fortement sollicitée. L'analyse de clés hors ligne examine les fichiers de sauvegarde de votre instance Tair (compatible Redis OSS) pour mettre en évidence les clés volumineuses et afficher l'utilisation de la mémoire, la distribution des clés ainsi que les délais d'expiration, sans impacter les performances de l'instance. Exploitez les résultats pour optimiser votre instance et prévenir l'épuisement de la mémoire ou la dégradation des performances due à une répartition inégale des clés.
Cette fonctionnalité s'appuie sur la fonction d'analyse du cache de CloudDBA.
Limitations
Les instances basées sur disque ne sont pas prises en charge.
Si vous modifiez le type d'instance, les fichiers de sauvegarde créés avant cette modification ne peuvent pas être analysés.
Seules les structures de données de la version Open Source de Redis et les structures propriétaires Tair suivantes sont prises en charge : TairString, TairHash, TairGIS, TairBloom, TairDoc, TairCpc et TairZset. La tâche d'analyse échoue si le fichier de sauvegarde contient d'autres structures propriétaires Tair.
Choisir une méthode d'analyse
Trois méthodes d'analyse sont disponibles. Choisissez celle qui correspond au degré d'actualité requis pour les données.
| Méthode | Actualité des données | Cas d'utilisation |
|---|---|---|
| Utiliser le fichier de sauvegarde récent | Dernière sauvegarde planifiée | Inspection quotidienne ou routine |
| Sélectionner un fichier de sauvegarde historique | Un point précis dans le passé | Comparaison avec un état connu |
| Créer une nouvelle sauvegarde pour l'analyse | État actuel de l'instance | Investigation d'un problème actif |
Si vous analysez un fichier de sauvegarde existant, vérifiez que son heure de création correspond bien au moment que vous souhaitez inspecter.
Exécuter une analyse de clés hors ligne
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Une instance Tair (compatible Redis OSS) non basée sur disque.
Les autorisations requises. Si vous utilisez un utilisateur RAM, consultez les .
Démarrer une tâche d'analyse
Connectez-vous à la console et accédez à la page Instances. Sélectionnez la région où se trouve votre instance, puis cliquez sur l'ID de l'instance.
Dans le volet de navigation de gauche, choisissez CloudDBA > Offline Key analysis. Par défaut, la page affiche les résultats de l'analyse de la veille. Ajustez la plage de temps si nécessaire.
Cliquez sur Analyze.
-
Dans la boîte de dialogue, configurez les paramètres suivants.
Paramètre Description Node Nœud à analyser. Sélectionnez l'instance entière ou un nœud spécifique. Analysis method Fichier de sauvegarde à utiliser. Consultez la section Choisir une méthode d'analyse pour plus d'informations. Delimiter Caractères utilisés pour identifier les préfixes de clé. Les délimiteurs par défaut sont :;,_-+@=|#. Laissez ce champ vide pour utiliser les valeurs par défaut.
Cliquez sur OK. Le système soumet la tâche d'analyse et affiche son statut. Cliquez sur Refresh pour actualiser le statut.
Afficher les résultats
Lorsque le statut de la tâche indique qu'elle est terminée, cliquez sur Details dans la colonne Actions.
La page de détails contient les sections suivantes :
-
Informations de base — Attributs de l'instance et méthode d'analyse utilisée.

-
Nœuds pertinents — Utilisation de la mémoire et statistiques sur les clés pour chaque nœud.
Cette section n'apparaît que pour les instances en cluster ou en mode lecture/écriture séparée lorsque l'instance entière a été sélectionnée comme Node.

-
Détails — Une ventilation incluant :
Utilisation et distribution de la mémoire par type de clé.
Nombre d'éléments et distribution de la taille au sein des clés.
Distribution des délais d'expiration des clés.
Principales clés volumineuses classées par consommation mémoire.

FAQ
Pourquoi y a-t-il autant de clés expirées ?
Les clés dotées d'un délai de vie (TTL) configuré peuvent s'accumuler lorsqu'un grand nombre expire simultanément. L'instance les supprime automatiquement, mais pour libérer immédiatement de la mémoire, utilisez la fonction Clear Data. Consultez la rubrique Supprimer les clés expirées.
Que faire si une erreur « permission denied » survient lors de l'utilisation d'un utilisateur RAM ?
Accordez les autorisations requises à l'utilisateur RAM et réessayez l'opération. Pour plus d'informations, consultez les Scénarios courants et exemples de stratégies personnalisées.
Pourquoi la vitesse d'analyse varie-t-elle d'une tâche à l'autre sur la même instance ?
Les tâches d'analyse s'exécutent de manière asynchrone dans CloudDBA. Si d'autres tâches sont en file d'attente avant la vôtre, votre tâche attendra plus longtemps. La durée totale dépend de la profondeur de la file d'attente, et pas uniquement de la taille de votre instance.
Comment résoudre l'erreur decode rdbfile error: rdb: unknown object type 116 for key ?
La sauvegarde contient des structures Bloom non standard, qui ne sont pas prises en charge pour l'analyse.
Comment résoudre l'erreur decode rdbfile error: rdb: invalid file format ?
Deux causes fréquentes :
La configuration de l'instance a changé après la création de la sauvegarde. Sélectionnez une sauvegarde correspondant à la configuration actuelle.
Le chiffrement transparent des données (TDE) est activé. Cette fonctionnalité ne peut pas analyser les fichiers de sauvegarde chiffrés.
Comment résoudre l'erreur decode rdbfile error: rdb: unknown module type ?
La sauvegarde contient des structures de données propriétaires Tair qui ne figurent pas dans la liste des structures prises en charge (TairString, TairHash, TairGIS, TairBloom, TairDoc, TairCpc, TairZset). L'analyse ne peut pas aboutir pour les sauvegardes incluant des structures non prises en charge.
Comment résoudre l'erreur XXX backup failed lors de la création d'une nouvelle sauvegarde pour l'analyse ?
Une commande BGSAVE ou BGREWRITEAOF est en cours d'exécution sur l'instance, ce qui bloque la nouvelle sauvegarde. Lancez l'analyse pendant les heures creuses, ou optez plutôt pour Use Recent Backup File ou Select a historical backup file.
Pourquoi l'utilisation de la mémoire affichée sur la page Détails semble-t-elle inférieure à l'utilisation réelle ?
L'analyse calcule la mémoire en se basant sur les données sérialisées des clés et des valeurs contenues dans le fichier de sauvegarde Redis Database (RDB). Cela ne couvre qu'une partie de l'empreinte mémoire réelle. Le reste comprend :
Les données de structure, les pointeurs et la surcharge liée à l'alignement des octets. Pour les instances contenant 250 millions de clés, cela peut ajouter environ 2 à 3 Go (alloués via jemalloc).
Les tampons côté client : tampon de sortie, tampon de requête et tampon de réécriture du journal append-only file (AOF).
Les journaux de réplication issus de la réplication primaire/réplica.
Pourquoi l'utilisation de la mémoire pour les clés Stream est-elle plusieurs fois supérieure aux attentes ?
Stream est une structure de données complexe qui utilise en interne des arbres radix et des listpacks. L'analyse ne peut pas mesurer avec précision la mémoire occupée par ces structures imbriquées ; les résultats sont donc approximatifs. Cet écart est statistique et n'affecte pas le fonctionnement de l'instance.
Pourquoi le nombre d'éléments et la longueur des éléments sont-ils identiques pour les clés String ?
Pour les instances Tair (compatibles Redis OSS), le nombre d'éléments d'une clé String est défini comme la longueur de la valeur. Il s'agit du comportement attendu.
Référence API
| API | Description |
|---|---|
| CreateCacheAnalysisJob | Crée une tâche d'analyse du cache |
| DescribeCacheAnalysisJob | Interroge les détails d'une tâche d'analyse du cache |
| DescribeCacheAnalysisJobs | Répertorie les tâches d'analyse du cache |
Étapes suivantes
Statistiques des principales clés — Surveillez les clés volumineuses en temps réel sans fichier de sauvegarde.