paint-brush
Analyse comparative de MinIO avec WARP et Speedtestpar@minio
12,642 lectures
12,642 lectures

Analyse comparative de MinIO avec WARP et Speedtest

par MinIO8m2023/11/08
Read on Terminal Reader

Trop long; Pour lire

Lorsque les performances sont essentielles, vous devez avoir la certitude que vous obtenez les meilleures performances possibles.
featured image - Analyse comparative de MinIO avec WARP et Speedtest
MinIO HackerNoon profile picture
0-item
1-item


Les clients intègrent MinIO dans leurs environnements pour bénéficier d'un stockage d'objets hautes performances compatible S3 qui s'exécute sur n'importe quel matériel physique ou virtuel et Kubernetes. Nos benchmarks publiés démontrent que MinIO est le stockage objet le plus rapide disponible, mais il ne peut fonctionner qu'aussi vite que le matériel et le réseau que vous lui fournissez. Les performances sont une priorité pour notre équipe, c'est pourquoi nous faisons tout notre possible pour aider les administrateurs à tirer le meilleur parti de MinIO. Afin de vérifier que l'infrastructure sous-jacente peut prendre en charge MinIO de manière optimale, nous proposons deux méthodes pour évaluer les performances et identifier les goulots d'étranglement potentiels : WARP et Speedtest.


Les applications modernes telles que l'IA/ML, les analyses avancées et les bases de données nécessitent un stockage objet hautes performances. La combinaison d'évolutivité et de hautes performances de MinIO met chaque charge de travail, aussi exigeante soit-elle, à portée de main. Lorsque les performances sont essentielles, vous devez avoir la certitude que vous obtenez les meilleures performances possibles. Les résultats de WARP et Speedtest peuvent être utilisés pour suivre les performances au fil du temps et identifier de manière proactive les problèmes potentiels avant qu'ils ne se transforment en problèmes graves.


WARP est un logiciel open source complet d'évaluation des performances S3 conçu pour effectuer des tests entre les clients WARP et les hôtes de stockage d'objets. WARP mesure les performances GET et PUT de plusieurs clients par rapport à un cluster MinIO. WARP propose de nombreuses options, configurées par ligne de commande ou par variables d'environnement, vous permettant de créer des tests adaptés à vos charges de travail. N'oubliez pas : il est absolument essentiel d'évaluer les performances de manière significative et de tester en utilisant des données et une charge de travail qui représentent les conditions réelles dans lesquelles votre stockage objet fonctionne.


En revanche, Speedtest est un test de performances automatisé facile à utiliser qui offre une expérience simplifiée et des résultats concis. Nous avons introduit Speedtest en novembre pour offrir aux administrateurs MinIO la possibilité d'exécuter une évaluation distribuée des performances de leurs clusters MinIO avec une seule commande. Speedtest exécute PUTS, puis GETS, augmentant progressivement la charge pour identifier le débit global maximal. L'exécution des tests peut prendre de quelques secondes à plusieurs minutes en fonction de votre cluster MinIO.


Il existe des différences importantes entre WARP et Speedtest. WARP est un outil complet qui teste les performances de votre cluster MinIO via les opérations menées par les clients WARP. Les machines clientes effectuent des PUTS et des GETS d'objets à travers le réseau vers votre cluster MinIO distribué. Cela fait de WARP un excellent mécanisme pour tester les performances client-serveur anticipées. En revanche, Speedtest s'exécute sur les instances MinIO pour effectuer des PUTS et des GETS d'objets vers d'autres instances MinIO du même cluster. En tant que tel, Speedtest vous indique de quoi le côté serveur de l’équation des performances est capable.


WARP contient à peu près tous les tests (GET, PUT, DELETE, LIST, STAT, RETENTION) que vous souhaiterez peut-être exécuter sur le stockage d'objets, et les exécutions de tests peuvent inclure une combinaison personnalisée de tailles d'objet pour correspondre à vos charges de travail. Speedtest exécute des paramètres de test définis pour identifier rapidement le débit maximum. Alors que WARP nécessite un logiciel supplémentaire, Speedtest est inclus avec MinIO et peut être exécuté à partir de l'interface mc ou de la console MinIO. Pour faciliter le dépannage, les clients peuvent partager les résultats du Speedtest avec les ingénieurs MinIO en un seul clic.

WARP : un outil complet d'analyse comparative du stockage d'objets

Jetons d’abord un coup d’œil à WARP. WARP est un outil qui vous permet d'évaluer minutieusement les performances de MinIO, ou de tout stockage d'objets compatible S3, dans diverses conditions. Par défaut, WARP effectuera un test mixte de lecture et d'écriture sur tous les disques utilisés par MinIO fonctionnant en mode distribué.


Flux de distorsion


Pour cette démo. nous allons exécuter WARP pour tester MinIO fonctionnant sur AWS en mode distribué. Nous l'avons fait assez souvent ces derniers temps, afin de pouvoir conseiller les clients potentiels et actuels des configurations les plus performantes que nous avons trouvées en les testant.


WARP se trouve dans un référentiel GitHub , où vous trouverez également une documentation détaillée.


Nous allons commencer par déployer MinIO en mode distribué . Vous pouvez télécharger MinIO et l'installer vous-même dans votre environnement, ou vous pouvez suivre ce tutoriel pour installer MinIO sur AWS EC2 .


Quoi qu’il en soit, nous allons commencer par un déploiement MinIO distribué :


Architecture MinIO


Une fois MinIO opérationnel, vous pourrez mesurer les performances avec WARP, alors commençons.

Étape 0 : Créez 4 instances (également appelées nœuds) avec Distributed MinIO.

Pour toutes les interfaces utilisateur Amazon ou AWS CLI, veuillez suivre les étapes du billet de blog précédent pour déployer des instances, mais ne configurez pas de stockage supplémentaire. Les instances exécutant WARP doivent être suffisamment puissantes pour générer rapidement des objets et mesurer les opérations PUT et GET, mais ne nécessitent pas le volume de stockage nécessaire à un nœud MinIO.


Création d'instances

Étape 2 : ajoutez des hôtes dans le fichier /etc/hosts sur les clients WARP.

  1. Obtenez les adresses IP des instances MinIO
  2. Obtenez les adresses IP des clients WARP
  3. Ajoutez ces adresses dans le fichier /etc/hosts :


 172.31.23.237 host1 172.31.26.78 host2 172.31.26.90 host3 172.31.19.110 host4 172.31.27.18 warp1 172.31.23.81 warp2 172.31.19.28 warp3 172.31.19.7 warp4


Notez que nous vous recommandons de répertorier et de travailler avec les hôtes dans un ordre consécutif. Cela simplifie le lancement de WARP à partir de la ligne de commande et facilite la localisation de chaque client WARP et hôte MinIO.

Étape 3 : Installez WARP sur les clients et exécutez-le.

 [root@ip-172-31-19-7 ec2-user]# wget https://github.com/minio/warp/releases/download/v0.5.5/warp_0.5.5_Linux_arm64.tar.gz 2022-02-08 20:06:04 (66.3 MB/s) - 'warp_0.5.5_Linux_arm64.tar.gz' saved [3943887/3943887] [root@ip-172-31-19-7 ec2-user]# tar -xzvf warp_0.5.5_Linux_arm64.tar.gz LICENSE README.md warp_logo.png warp [root@ip-172-31-19-7 ec2-user]# ./warp client warp: Listening on :7761


Notez que chaque client WARP écoute sur le port 7761

Étape 4 : Exécutez WARP et lancez un benchmark mixte.

 [root@ip-172-31-27-18 ec2-user]# WARP_ACCESS_KEY=minioadmin WARP_SECRET_KEY=minioadmin ./warp mixed --warp-client warp{1...4}:7761 --host host{1...4}:9000 --duration 120s --obj.size 64M --concurrent 64 warp: Benchmark data written to "warp-remote-2022-02-08[201339]-qymu.csv.zst" Mixed operations. Operation: DELETE, 10%, Concurrency: 256, Ran 1m54s. * Throughput: 39.90 obj/s Operation: GET, 45%, Concurrency: 256, Ran 1m54s. * Throughput: 10903.28 MiB/s, 178.64 obj/s Operation: PUT, 15%, Concurrency: 256, Ran 1m54s. * Throughput: 3628.27 MiB/s, 59.45 obj/s Operation: STAT, 30%, Concurrency: 256, Ran 1m54s. * Throughput: 119.98 obj/s Cluster Total: 14501.38 MiB/s, 397.44 obj/s over 1m55s. warp: Cleanup done. [root@ip-172-31-27-18 ec2-user]#


Vous avez effectué un test de performances de base en mode mixte à l'aide de WARP. Bien que nous ayons utilisé un test en mode mixte pour démontrer WARP, vous obtiendrez généralement de meilleurs résultats (plus adaptés à l'utilisation réelle) en divisant les opérations individuelles (GET, PUT, LIST) dans leurs propres exécutions de test au lieu d'exécuter un test mixte. -test en mode.


Nous vous encourageons à vous référer à la documentation pour en savoir plus sur l'exécution de davantage de scénarios de test. Par exemple, vous pouvez activer TLS et le chiffrement côté serveur pour mesurer leur impact dans votre environnement. Vous pouvez stresser davantage l'infrastructure en augmentant le nombre de tests simultanés. Vous pouvez utiliser une combinaison aléatoire de tailles d'objet ou spécifier une taille d'objet qui correspond à votre environnement et à votre charge de travail actuels. Vous pouvez configurer les tests pour qu'ils s'exécutent pendant une période de temps définie ou qu'ils se terminent automatiquement comme nous l'avons fait ci-dessus.


Les résultats WARP sont affichés à l'écran et enregistrés dans un fichier CSV local compressé à l'aide de zstandard.

Speedtest pour une évaluation rapide et facile des performances

Si vous ne souhaitez pas bénéficier de la flexibilité totale de WARP, nous avons créé un moyen simple et rapide de mesurer les performances de MinIO à l'aide de Speedtest. Speedtest est le plus souvent exécuté en mode de réglage automatique, augmentant progressivement la charge pour identifier le débit global maximal.


Vous pouvez utiliser mc pour exécuter Speedtest :

 $ mc support perf object <alias>


 [root@ip-172-31-77-115 ec2-user]# ./mc support perf object myminio THROUGHPUT IOPS PUT 2.4 GiB/s 38 objs/s GET 4.6 GiB/s 73 objs/s Speedtest: MinIO 2022-02-01T18:00:14Z, 4 servers, 16 drives, 64 MiB objects, 72 threads


Vous pouvez également exécuter Speedtest à partir de la console MinIO, l'interface graphique basée sur un navigateur pour la configuration, la gestion et la création de rapports sur les clusters MinIO. Accédez simplement au menu Support et cliquez sur Performances, puis cliquez sur le bouton Démarrer.


Test de performance


Le test de performances s'exécutera. Une fois l'opération terminée, les performances globales GET et PUT ainsi que les performances des nœuds individuels sont affichées.


Pour plus de détails et d'exemples pour Speedtest, veuillez consulter ce tutoriel .

Vitesse de distorsion en avant !

Commencez par télécharger MinIO dès aujourd'hui. Rejoignez notre communauté Slack et échangez des idées avec d'autres utilisateurs MinIO. Si vous avez des questions spécifiques sur l'utilisation de WARP, veuillez nous contacter sur notre chaîne Slack (Matt Sarrel et Cesar Celis) ou envoyez-nous un e-mail à [email protected].


Également publié ici .