Quelle est la vitesse du flash ?  |  Redis

Quelle est la vitesse du flash ? | Redis

Explorer les performances de Redis Enterprise avec l’extension de mémoire Flash.

Avec Redis Enterprise, nous avons récemment permis d’étendre votre stockage basé sur la RAM dans la mémoire Flash. Ne confondez pas cela avec une certaine forme de persistance – c’est un moyen de laisser Redis sortir des limites de la RAM du serveur et entrer dans le stockage Flash si nécessaire. Avec les progrès de la mémoire Flash (stockage SSD basé sur NVMe), les performances deviennent très viables, mais pas aussi rapides que la RAM seule. Cela vous permet d’avoir un stockage hybride – dans lequel les données se déplacent entre la RAM rapide et Flash selon les besoins, le tout géré par Redis Enterprise et sans modification de votre code.

Examinons les caractéristiques de performance de Redis Enterprise sur Flash et comment vous pouvez tester les performances vous-même. Nous vous suggérons d’installer Redis Enterprise directement comme décrit dans notre documentation. Bien que nous donnions des instructions sur la façon d’utiliser Docker pour installer Redis Enterprise afin de tester le produit, dans ce cas, cette méthode ne donnera pas les meilleures performances.

Pour utiliser au mieux les capacités de mémoire Flash, nous vous suggérons d’utiliser des instances AWS i3.2xlarge. Ces instances disposent de disques SSD NVMe (Non-Volatile Memory Express) qui sont essentiels à l’extension de mémoire hybride hautes performances. La configuration du test est la suivante :

  • 2 x i3.2xlarge pour le service des données
  • 1 x m4.large comme nœud de quorum
  • 1 x c4.8xlarge comme générateur de charge

La génération de charge est assurée par le memtier_benchmark. Cela devrait être dans la même région/zone/sous-réseau de votre cluster, mais devrait être dans une instance dédiée.

Pour ce benchmark, nous allons nous concentrer sur un cluster avec réplication. Voici quelques spécifications supplémentaires de notre configuration de test :

Limite de mémoire 100 Go La limite du stockage en RAM+Flash.
Limite de RAM 30% Les clés et les “valeurs chaudes” sont toujours stockées dans la RAM.
Persistance des données Aucun La persistance n’est pas activée pour simplifier la configuration et réduire les variables dans le test.
Clustering / Fragments Oui – 2 fragments Un fragment maître et un fragment esclave sur chaque nœud.
Réplication Oui (coché) La réplication est typique des déploiements et est donc incluse dans ce benchmark, bien qu’elle ne soit pas requise pour Redis Enterprise avec Flash.


Tout le reste doit utiliser les paramètres par défaut.

Remplir le jeu de données

Nous utiliserons memtier_benchmark pour remplir la base de données en utilisant ces arguments :

$ memtier_benchmark -s your-nodes-fully-qualified-name-or-ip-endpoint -p your-endpoint-port --hide-histogram --key-maximum=75000000 -n allkeys -d 500 --key-pattern=P:P --ratio=1:0

Vous devrez modifier les valeurs des deux éléments en rouge. Vous pouvez trouver l’adresse et le port du point de terminaison sur le tableau de bord Redis Enterprise en sélectionnant votre base de données sur la page Base de données, puis en cliquant sur l’onglet Configuration ; le tableau doit avoir une ligne qui ressemble à ceci :

Screen Shot 2017 10 19 at 2.25.19 PM

Ce benchmark remplira la base de données avec 75 millions de clés chacune avec une charge utile de 500 octets.

La prochaine étape est la centralisation de vos clés – en fait, nous chargerons les clés autour de la médiane dans la RAM, le reste étant en Flash. Ce processus permet de simuler un modèle d’accès plus réaliste et de contrôler la nature autrement aléatoire de l’indice de référence (qui ne refléterait pas des modèles d’accès réalistes). Cela signifie également que les tests ultérieurs seront plus cohérents. Tu peux en savoir plus sur cette fonctionnalité dans un article de blog précédent sur memtier_benchmark.

Pour centraliser, nous allons générer environ 20,5 millions d’éléments en RAM en exécutant :

$ memtier_benchmark -s your-nodes-fully-qualified-name-or-ip-endpoint -p your-endpoint-port --hide-histogram --key-minimum=27250000 --key-maximum=47750000 -n allkeys --key-pattern=P:P --ratio=0:1

Maintenant que nous avons préparé la base de données, générons une certaine charge maintenant que nous avons préparé la base de données.

$ memtier_benchmark -s your-nodes-fully-qualified-name-or-ip-endpoint -p your-endpoint-port  --pipeline=11 -c 20 -t 1 -d 500 --key-maximum=75000000 --key-pattern=G:G --key-stddev=5125000 --ratio=1:1 --distinct-client-seed --randomize --test-time=600 --run-count=1 --out-file=test.out

Une fois votre test en cours, vous pourrez surveiller les résultats dans le tableau de bord Redis Enterprise. Vous devriez voir environ 115 000 opérations/s avec une latence inférieure à la milliseconde dans ce modèle d’accès. Il est également important de noter que vous pouvez voir des valeurs inférieures si vous regardez la sortie de memtier_benchmark lui-même, mais cela prend en compte la latence du réseau, donc il ne mesure pas vraiment Redis Enterprise directement.

Cette expérience montre que vous pouvez atteindre un débit moyen de plus de 100 000 opérations/s avec une latence inférieure à la milliseconde avec seulement quatre fragments s’exécutant sur un cluster à trois nœuds avec deux nœuds de service, ce qui répond aux exigences de performances de nombreuses bases de données réelles. cas. Si vous avez besoin de plus de débit ou de mémoire, vous pouvez faire évoluer votre cluster en ajoutant plus de partitions et de nœuds.

Si vous vouliez créer une version RAM uniquement de cette base de données, vous auriez besoin de trois fois plus de nœuds. Ce qui, à son tour, se traduirait par trois fois le coût d’infrastructure pour faire fonctionner la base de données. L’utilisation de Flash comme extension de RAM permet de réaliser d’importantes économies.

Pour démarrer avec Redis Enterprise Flash, veuillez consulter les instructions de configuration rapide ici. Pour en savoir plus sur l’architecture Redis Flash, consultez le Article de blog sur l’architecture Flash d’entreprise Redis. Vous pouvez démarrer une Essai gratuit de Redis Enterprise Flash ici. Enfin, pour en savoir plus sur les caractéristiques de performance de Redis Enterprise avec extension de mémoire Flash, envoyez un e-mail expert@redis.com.

Development Source

Related Posts

RLEC 4.2.1 apporte des contrôles granulaires à la haute disponibilité et aux performances

RLEC 4.2.1 apporte des contrôles granulaires à la haute disponibilité et aux performances

Comment HolidayMe utilise Redis Enterprise comme base de données principale

Comment HolidayMe utilise Redis Enterprise comme base de données principale

Annonce de RedisGears 1.0 : un moteur sans serveur pour Redis

Annonce de RedisGears 1.0 : un moteur sans serveur pour Redis

Clés Redis dans la RAM |  Redis

Clés Redis dans la RAM | Redis

No Comment

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *