Spécification des instances et des nœuds

Cette page décrit les spécifications d'instance et de nœud pour les instances Memorystore pour Valkey. Pour savoir comment créer une instance, consultez la section Créer des instances.

Choisir un type de nœud

Les nœuds de votre instance utilisent tous le même type de nœud que vous avez choisi. Le meilleur type de nœud pour votre instance dépend de vos exigences en termes de prix, de performances et de capacité de l'espace de clés.

Le type de nœud standard-small vous permet de provisionner de petites instances et de les faire évoluer par incréments plus petits à des coûts potentiellement inférieurs à ceux des autres types de nœuds. standard-small offre également l'avantage de répartir votre espace de clés sur davantage de nœuds avec un nombre total de vCPU plus élevé. Cela offre un rapport qualité-prix amélioré par rapport à highmem-medium, à condition que la capacité totale de l'espace de clés des nœuds plus petits soit suffisante pour vos besoins en données.

Nous vous recommandons de ne choisir le type de nœud highmem-xlarge que si vous avez besoin de plus de capacité d'instance que celle fournie par highmem-medium. Bien que le type de nœud highmem-xlarge soit quatre fois plus grand que le type highmem-medium, les performances ne sont pas quatre fois plus élevées, car les performances de Valkey 7.2 ne sont pas évolutives de manière linéaire lorsque des processeurs virtuels sont ajoutés à des nœuds de plus en plus volumineux (mise à l'échelle). Pour obtenir de meilleures performances en termes de prix, vous devez plutôt effectuer effectuer un scaling horizontal en ajoutant des nœuds à une instance.

Spécification du type de nœud

La capacité et les caractéristiques des nœuds dépendent du type de nœud parmi les quatre disponibles que vous choisissez:

Capacité de l'espace de clés et frais généraux réservés

Type de nœud Capacité par défaut de l'espace de clés en écriture Capacité totale des nœuds
shared-core-nano 1,12 Go 1,4 Go
standard-small 5,2 Go 6,5 Go
highmem-medium 10,4 Go 13 Go
highmem-xlarge 46,4 Go 58 Go

Memorystore réserve automatiquement une partie de la capacité de votre instance pour éviter les erreurs de mémoire saturée (OOM). Cela garantit une expérience fluide pour lire et écrire des clés. Les limites de mémoire et les détails de stockage sont les suivants:

  • Personnalisation de votre espace de stockage:bien que nous vous recommandions d'utiliser les paramètres par défaut, vous pouvez ajuster la quantité d'espace de stockage réservé à l'aide de la configuration maxmemory. Pour en savoir plus sur maxmemory, consultez la section Configurations d'instance compatibles.

  • De combien d'espace de stockage disposez-vous ? Reportez-vous à la colonne Capacité par défaut du champ de clés en écriture du tableau précédent. Il indique l'espace de stockage disponible par défaut pour vos clés.

  • Maximiser l'espace de stockage Si vous souhaitez obtenir l'espace de stockage maximal possible, la colonne capacité totale des nœuds indique la limite de stockage lorsque vous définissez la configuration maxmemory sur 100%. Toutefois, nous vous déconseillons de choisir une valeur maxmemory supérieure au paramètre par défaut.

  • Le type de nœud shared-core-nano est limité à 1, 12 Go et ne peut pas être modifié avec la configuration maxmemory.

Caractéristiques des nœuds

Type de nœud Nombre de vCPU Contrat de niveau de service proposé Nombre maximal de clients Mémoire maximale pour les clients (configuration maxmemory-clients)
shared-core-nano 0,5 Non 5 000 12 %
standard-small 2 Oui 16 000 (par défaut) La valeur maximale est de 32 000 7 %
highmem-medium 2 Oui 32 000 (par défaut) La valeur maximale est de 64 000 7 %
highmem-xlarge 8 Oui 64 000 4 %

Spécifications de l'instance

Cette section indique les capacités minimales et maximales des instances en fonction de la forme de l'instance, du type de nœud et du nombre de réplicas. Memorystore pour Valkey n'est compatible qu'avec les instances en mode cluster.

Capacité minimale en écriture en fonction de la forme d'instance minimale

Type et taille des nœuds Capacité minimale en écriture avec la configuration d'instance minimale de trois nœuds1
shared-core-nano : 1,4 Go 4,2 Go
standard-small : 6,5 Go 19,5 Go
highmem-medium : 13 Go 39 Go
highmem-xlarge : 58 Go 174 Go

1 La capacité en écriture correspond à la quantité d'espace de stockage disponible pour écrire des clés. La capacité minimale en écriture n'est pas affectée par le nombre de réplicas que vous choisissez.

Capacité maximale en écriture en fonction de la forme de l'instance

Type et taille des nœuds Capacité maximale pour une instance de 250 nœuds principaux et 0 répliques par nœud Capacité maximale pour une instance de 125 nœuds principaux et un réplica par nœud Capacité maximale pour une instance de 83 nœuds principaux et deux réplicas par nœud
shared-core-nano : 1,4 Go 350 Go 175 Go 116,2 Go
standard-small : 6,5 Go 1 625 Go 812,5 Go 539,5 Go
highmem-medium : 13 Go 3 250 Go 1 625 Go 1 079 Go
highmem-xlarge : 58 Go 14 500 Go 7 250 Go 4 814 Go

Sélectionner une forme d'instance avec 1, 2 ou 4 segments

En raison de son état de preview, la création d'instances avec 1, 2 ou 4 segments présente les exigences et le comportement suivants:

  • Pour disposer de 1, 2 ou 4 segments, vous devez créer l'instance avec 1, 2 ou 4 segments.

  • Vous devez utiliser gcloud CLI pour créer des instances avec 1, 2 ou 4 fragments.

  • Les instances créées avec trois segments, cinq segments ou plus ne peuvent pas être redimensionnées pour avoir un, deux ou quatre segments.

  • Les instances créées avec 1, 2 ou 4 segments sont en phase de lancement en version preview et sont soumises aux limites de cette phase.

  • Les instances créées avec 1, 2 ou 4 segments peuvent être redimensionnées vers n'importe quelle autre forme d'instance autant de fois que vous le souhaitez. Par exemple, vous pouvez faire passer une instance à quatre fragments à huit fragments, puis revenir à quatre fragments.

Performance

L'utilisation de l'outil de benchmarking OSS memtier dans la région us-central1 a permis d'obtenir entre 120 000 et 130 000 opérations par seconde par nœud à deux CPU virtuels (standard-small et highmem-medium) avec une latence de microsecondes et une taille de données de 1 Ko.

Nous vous recommandons d'effectuer votre propre analyse comparative avec des charges de travail réelles ou synthétiques qui ressemblent à votre trafic de production. En outre, nous vous recommandons de dimensionner vos instances avec un tampon (ou "marge de manœuvre") pour les pics de charge de travail ou le trafic inattendu. Pour en savoir plus, consultez les bonnes pratiques.

Points de terminaison d'instance

Cette section explique les deux points de terminaison de chaque instance.

Point de terminaison de découverte

Chaque instance dispose d'un point de terminaison de détection auquel votre client se connecte. Il s'agit d'une combinaison d'une adresse IP et d'un numéro de port. Pour savoir comment trouver le point de terminaison de détection de votre instance, consultez la section Afficher le point de terminaison de détection de votre instance.

Votre client l'utilise également pour la découverte de nœuds. Votre client utilise le point de terminaison de découverte pour récupérer la topologie des nœuds de votre instance afin de démarrer les clients tiers et de les mettre à jour en état stable. La topologie de nœuds qui en résulte fournit des points de terminaison de nœud (combinaisons d'adresses IP et de ports) à mettre en cache en mémoire par votre client tiers. Votre client s'occupe ensuite automatiquement des mises à jour et des redirections, sans aucune autre modification de l'application. Pour en savoir plus sur le comportement de la découverte de clients et les bonnes pratiques à suivre, consultez Découverte de clients.

Le point de terminaison de découverte est disponibilité élevée, car il est assuré par plusieurs nœuds dans plusieurs zones pour servir la topologie des nœuds. La topologie de diffusion via le point de terminaison est robuste, même en cas de défaillance ou de mise à jour de nœuds backend.

Votre point de terminaison de détection se comporte comme suit:

  1. Le point de terminaison de découverte de votre instance reste inchangé tout au long de son cycle de vie, même pendant la maintenance, ou par toute autre action que vous effectuez, comme le scaling ou la modification du nombre de réplicas.

  2. Les points de terminaison des nœuds peuvent changer et être réutilisés à mesure que des nœuds sont ajoutés et supprimés au fil du temps. Dans l'idéal, vous devez utiliser un client tiers capable de gérer automatiquement ces modifications via des actualisations et des redirections de topologie. Vous trouverez des exemples de clients tiers sur la page Exemples de code de bibliothèque cliente. Votre application ne doit pas comporter de dépendances ni d'hypothèses selon lesquelles les points de terminaison de nœud resteront inchangés pour une instance donnée.

Point de terminaison des données

Chaque instance dispose également d'un point de terminaison de données Private Service Connect que Memorystore for Firebase utilise pour la connexion client. Vous ne devez pas vous y connecter directement, mais Memorystore pour Valkey utilise ce point de terminaison pour connecter votre client aux nœuds de votre instance.