Bonnes pratiques générales

Cette page fournit des conseils pour utiliser Memorystore pour Redis de manière optimale. Elle souligne également les problèmes potentiels à éviter.

Pour obtenir la liste des scénarios de dépannage, consultez la page Dépannage.

Exportation RDB

Lorsque vous exportez une sauvegarde RDB, suivez les conseils ci-dessous :

Opérations exigeantes en ressources

Pour les instances Redis de niveau standard, les opérations suivantes utilisent de la mémoire supplémentaire pendant toute la durée de l'opération :

En raison de la réplication, les opérations de mise à niveau de la version, de scaling et de basculement manuel utilisent de la mémoire supplémentaire (pour les instances de niveau standard). Ces opérations suivent le processus de réplication décrit dans la section Comportement de la mise à niveau des instances de niveau standard.

Les opérations d'importation et d'exportation nécessitent de la mémoire supplémentaire en raison du processus Redis dupliqué et de la gestion de données de copie pour écriture associées à ces opérations.

Afin de limiter les inconvénients des opérations exigeantes en ressources, vous devez effectuer les opérations suivantes :

Opérations et scénarios nécessitant une nouvelle tentative de connexion

Les opérations et scénarios suivants interrompent la connexion entre votre réseau et l'instance Redis :

Ces opérations modifient votre instance, ce qui nécessite une interruption temporaire de la connexion. Vous devez mettre en place une logique de nouvelle tentative avec un intervalle exponentiel entre les tentatives avant de pouvoir exécuter ces opérations, afin que votre application se reconnecte automatiquement et continue à fonctionner normalement.

Maintenance de routine

Les instances Memorystore pour Redis font l'objet d'une maintenance périodique. Pour en savoir plus, consultez la stratégie de maintenance de Memorystore pour Redis.

Mettez en œuvre les bonnes pratiques suivantes pour vous préparer à la maintenance de routine :

Gestion de la mémoire

La gestion de la mémoire peut s'avérer difficile en raison de la fragmentation de la mémoire bien connue avec Redis Open Source. Nous vous recommandons d'abaisser la configuration de maxmemory de votre instance pour vous donner de la surcharge en cas de saturation de la mémoire.

Le meilleur moyen de surveiller la saturation de la mémoire sur votre instance Memorystore est d'utiliser la métrique du taux d'utilisation de la mémoire système. Pour obtenir des instructions plus détaillées sur la gestion de la mémoire pour Memorystore pour Redis, consultez la page Bonnes pratiques pour la gestion de la mémoire.

Gérer les connexions inactives

Au fil du temps, il est possible que le nombre de connexions à votre instance Memorystore augmente si les connexions ne sont pas correctement fermées. Cela peut avoir des conséquences négatives sur les performances, en particulier si vous utilisez le chiffrement en transit, qui impose des limites sur le nombre maximum de connexions en fonction de votre niveau de capacité. Pour éviter cela, nous vous recommandons d'utiliser le paramètre de configuration Redis timeout, qui vous permet de définir le nombre de secondes avant l'arrêt automatique des connexions clientes inactives.

Connecteur d'accès au VPC sans serveur requis pour certains environnements sans serveur

Certains environnements sans serveur nécessitent un connecteur d'accès au VPC sans serveur pour se connecter à Memorystore pour Redis. Si vous souhaitez vous connecter à l'aide de l'un de ces environnements, configurez le connecteur d'accès au VPC sans serveur pour votre projet.

Mise en réseau

Nous vous recommandons d'utiliser le mode de connexion d'accès aux services privés. Memorystore pour Redis utilise deux modes de connexion : l'accès aux services privés et l'appairage direct. Le mode de connexion d'accès aux services privés simplifie la gestion des plages d'adresses IP et vous permet d'utiliser un VPC partagé si vous le souhaitez.

Une fois que vous avez créé une instance, le mode de connexion ne peut plus être modifié.

Pour en savoir plus, consultez la page Mise en réseau.

Surveillance et alertes

Nous vous recommandons d'utiliser la monitoring et les alertes, car elles vous fournissent des signaux clés sur l'utilisation de la mémoire de l'instance Redis. Elles vous donnent également un aperçu de l'efficacité de réponse de votre instance Redis aux requêtes de cache entrantes.

Vous devez configurer les alertes par défaut suivantes :

Bonnes pratiques d'utilisation du processeur

L'utilisation incorrecte de commandes Redis coûteuses entraîne des problèmes de latence, de non-réactivité ou de connectivité. Les instances de niveau standard offrent une haute disponibilité lors de la reprise après sinistre et dépendent de la réplication asynchrone entre les nœuds principaux et d'instances répliquées. Si l'un des nœuds applique un traitement de commande coûteux qui bloque le thread principal Redis, la réplication peut être affectée. Si le problème persiste et qu'une panne d'emplacement se produit, les données les plus récentes écrites à l'emplacement de l'indisponibilité peuvent ne pas être disponibles dans l'autre emplacement.

Nous vous recommandons d'utiliser Cloud Monitoring pour définir des alertes pour la métrique Main Thread CPU Seconds (redis.googleapis.com/stats/cpu_utilization_main_thread) afin de vous assurer que l'utilisation du processeur ne dépasse pas 0,9 seconde pour le nœud principal et 0,5 seconde pour chaque nœud d'instance répliquée.

Si votre instance Redis dépasse les valeurs recommandées, nous vous recommandons de faire évoluer l'instance à un niveau de capacité plus élevé ou de suivre les instructions de dépannage afin d'éviter les opérations nécessitant une utilisation intensive du processeur.