Storage Benchmarking
Avant de commencer
Avant de commencer les tests d'évaluation, familiarisez-vous avec votre environnement. Même les petits détails manqués peuvent invalider votre benchmark. Par exemple, il est inutile de tester les performances de votre Cloud Disk Array d'un datacenter différent. Les latences entre les datacenters sont trop élevées durant le fonctionnement pour une telle évaluation.
Il est également très important de sélectionner les métriques appropriées à votre cas. Si vous prévoyez d'analyser une base de données, le nombre total d'E/S par seconde (IOPS) disponibles de 8 Ko par bloc sera probablement plus important que la bande passante totale avec de grandes E/S. Si vous envisagez d'utiliser Hadoop, les besoins en stockage seront totalement différents.
Dans notre cas, nous essayons de trouver un équilibre entre différentes charges de travail. Nous utilisons Fio — un outil d'évaluation très populaire. Il fournit de nombreuses options réglables pour simuler la charge de travail souhaitée et fournit des statistiques détaillées sur le comportement du stockage sous charge. Il est également disponible gratuitement sur un large éventail de systèmes d'exploitation.
Ce guide vous apprend à effectuer une évaluation de votre Cloud Disk Array.
Premier banc d'essai
Assurez-vous que le client utilisé pour le test a accès à votre Cloud Disk Array. Vous pouvez vérifier cela en exécutant la commande suivante :
Si vous obtenez un résultat similaire à celui ci-dessus, vous pouvez commencer à préparer l'image pour le test grâce à cette commande :
Vous pouvez tester les performances dans trois situations différentes :
- utiliser directement RBD ;
- mapper l'image vers le périphérique
/dev/rbd; - exécuter un banc d'essai à l'intérieur d'une machine virtuelle exécutée sur une image RBD.
L'utilisation de la première méthode exécute Fio comme dans l'exemple ci-dessous :
Lors de l'exécution d'un benchmark sur un périphérique /dev/rbd\ ou à partir d'une machine virtuelle interne, certains facteurs peuvent affecter les performances :
- le cache du système d'exploitation : il peut donner l'impression que votre système est très rapide pendant un certain temps, puis ralentit. Utilisez les E/S directes pour éviter cela ;
- la prise en charge des demandes FLUSH/FUA dans la pile de stockage utilisée pour les tests ;
- l'hyperviseur et/ou le pilote (virtio/scsi) utilisés pour la virtualisation ;
- « réchauffer » votre stockage avant de lancer ou d'exécuter plusieurs fois un benchmark.
Benchmark réel
Selon la taille de votre cluster, vous pouvez tester un plus grand nombre d'images ou utiliser différents paramètres. Généralement, vous pouvez modifier le nombre d'images, leur taille, la taille de la file d'attente, le nombre de FIO workers, le type de charge de travail (lecture/écriture/aléatoire/séquentiel), la durée du test, etc.
Lecture/écriture aléatoire mixte avec une taille de bloc de 4 Ko
Lectures séquentielles avec taille de bloc de 1 Mo
Écritures aléatoires avec une taille de bloc de 4 000 tr/min
Ce test générera quatre processus de Fio, chacun s'écrivant sur une image distincte à l'aide de deux threads.
Lecture/écriture mixte avec différentes tailles de blocs
Mesurer les performances des baies de disques virtuels
Pour mesurer les performances d'une baie de disques virtuels, nous effectuons des tests sur 32 images, chacune d'une taille de 32 Go, ce pendant quelques heures. L'utilisation de jeux de données volumineux pendant les tests nous garantit que les performances resteront à un niveau spécifié.
Aller plus loin
Rendez-vous sur notre chaîne Discord dédiée : https://discord.gg/ovhcloud. Posez des questions, fournissez des commentaires et interagissez directement avec l'équipe qui construit nos services de stockage et de sauvegarde.
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.
Échangez avec notre communauté d'utilisateurs.