Benchmark Public Cloud Databases pour MongoDB
Évaluer les performances d'instances MongoDB
Objectif
Ce guide a pour but de fournir une approche détaillée, étape par étape, du benchmark et du dimensionnement de votre cluster MongoDB OVHcloud en fonction de charges spécifiques. Il couvre l'estimation des besoins en ressources, la configuration du cluster, et l'utilisation d'outils tels que YCSB et SimRunner pour les tests de performance. En suivant ce guide, vous pourrez mesurer le débit et la latence, et prendre des décisions éclairées quant à l'offre OVHcloud adaptée aux besoins de votre application, garantissant des performances et une évolutivité optimales.
Configuration des outils de benchmark
YCSB (Yahoo! Cloud Serving Benchmark)
YCSB est un framework permettant d'évaluer et de comparer les performances de diverses bases de données. Il prend en charge un large éventail de charges de travail et fournit une méthode standardisée pour mesurer le débit et la latence.
- Consultez le README pour installer YCSB.
- Reportez-vous au README MongoDB pour exécuter YCSB sur MongoDB.
SimRunner
SimRunner est un outil qui associe :
- un générateur de données puissant pour MongoDB ;
- un générateur de charge de travail déclaratif et hautement évolutif.
Installez SimRunner et configurez-le pour simuler la charge en fonction des métriques actuelles de votre base de données, puis créez un fichier de configuration pour SimRunner reproduisant votre charge de travail actuelle.
Processus de benchmark avec YCSB et SimRunner
Avec la version 0.17.0 de YCSB, assurez-vous d'avoir Python 2 installé, car YCSB rencontrera des erreurs si Python 3 est utilisé.
Étape 1 : configurer un cluster MongoDB OVHcloud
- Configurez le cluster MongoDB OVHcloud. Veillez à sélectionner une offre disposant de caractéristiques matérielles similaires à celles des autres bases de données avec lesquelles vous souhaitez effectuer le benchmark.
Étape 2 : déterminer le nœud principal du cluster MongoDB
- Connectez-vous au cluster MongoDB avec le mongoshell, puis exécutez la commande
rs.status(). - Recherchez l'élément dont
members.stateStrvaut'PRIMARY'. - Notez la valeur du champ
members.namepour cet élément. Par ex.name: 'node2-0b70a1b78fff6c0e-admin.database.cloud.ovh.net:27017'. Vous l'utiliserez à l'ÉTAPE 4 pour charger et exécuter YCSB.
Étape 3 : configurer la charge de travail YCSB
YCSB fournit des charges de travail préconfigurées dans le dossier ycsb-0.17.0 > workloads. Vous pouvez configurer votre propre charge de travail en fonction du comportement de votre application.
Consultez YCSB Core Properties pour la liste des propriétés de charge de travail disponibles.
Voici un exemple de charge de travail :
Étape 4 : charger des données dans MongoDB avec YCSB - Exemple avec le workloada fourni
Pour plus de détails sur l'exécution d'une charge de travail, consultez YCSB Run a Workload.
Depuis le répertoire ycsb-0.17.0, exécutez la commande suivante avec le workloada fourni pour charger des données dans MongoDB.

Vérifiez que la base de données ycsb et la collection usertable ont bien été créées et chargées avec les données.
Étape 5 : exécuter la charge de travail YCSB - Exemple avec le workloada fourni
Depuis le répertoire YCSB > ycsb-0.17.0, exécutez la commande suivante avec le workloada fourni pour exécuter la charge de travail.

Étape 6 : analyser et évaluer les métriques de sortie de YCSB
Notez le résultat de la commande d'exécution de l'étape 5, et comparez-le avec d'autres bases de données.
Tests de performance avec SimRunner
Étape 1 : sélectionner l'offre OVHcloud
Maintenant que vous avez choisi MongoDB comme base de données, il est temps de configurer le cluster approprié.
- En fonction des métriques collectées (CPU, RAM, IOPS disque, espace disque, etc.), choisissez une offre OVHcloud répondant aux besoins de votre application.
- Tenez compte de la croissance future et des besoins en évolutivité. Vous pourriez envisager de consulter le guide sur le dimensionnement d'un cluster MongoDB.
Étape 2 : configurer le cluster OVHcloud
Étape 3 : tests de performance avec SimRunner
- Consultez le README pour installer et exécuter SimRunner.
- Exécutez des tests de performance à l'aide de SimRunner sur votre cluster MongoDB :
java -jar SimRunner.jar <config file>. Voici un exemple de fichier de configuration :

- La sortie du rapport,
mongoReporter, de l'exécution a été configurée pour être stockée sur l'instance MongoDB exécutée localement :"connectionString": "mongodb://localhost:27017"

Étape 4 : validation
- Surveillez les performances et ajustez la taille et la configuration du cluster selon les besoins de l'application.
- Vérifiez que votre application se comporte comme prévu avec MongoDB.
Nous voulons vos retours !
Nous serions ravis de répondre à vos questions et apprécions tout retour que vous pourriez nous faire.
Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.
Rejoignez notre communauté d'utilisateurs.
Vous êtes sur Discord ? Rejoignez notre chaîne via https://discord.gg/ovhcloud et interagissez directement avec l’équipe qui développe notre service de bases de données !