Aujourd'hui, nous allons parler des outils ouverts pour évaluer les performances des processeurs, de la mémoire, des systèmes de fichiers et des systèmes de stockage.
La liste comprend des utilitaires proposés par des résidents de GitHub et des participants aux fils de discussion sur Reddit : Sysbench, UnixBench, Phoronix Test Suite, Vdbench et IOzone.
/ Unsplash /
C'est un utilitaire de test de charge pour les serveurs MySQL, basé sur le projet LuaJIT, dans le cadre duquel une machine virtuelle pour le langage Lua est développée. L'auteur de l'outil est le programmeur et expert en MySQL Alexey Kopytov. Le projet a commencé comme un hobby, mais a progressivement gagné la reconnaissance de la communauté. Aujourd'hui, sysbench est utilisé par de grandes universités et des organisations informatiques .
Lors de la conférence SECR-2017 (enregistrement de la présentation ) Alexey a expliqué que sysbench permet d'évaluer les performances d'une base de données lors de sa migration vers un nouveau matériel, d'une mise à jour de la version du SGBD, ou d'un changement brusque du nombre de requêtes. En général, la syntaxe de la commande pour effectuer un test est la suivante :
sysbench [options]... [testname] [command]Cette commande définit le type (cpu, memory, fileio) et les paramètres du test de charge (nombre de threads, nombre de requêtes, vitesse de traitement des transactions). En tout, l'outil peut traiter des millions d'événements par seconde. Plus de détails sur l'architecture et le fonctionnement interne de sysbench ont été partagés par Alexey Kopytov dans l'un des .
Un ensemble d'outils pour évaluer les performances des systèmes Unix. Il a été présenté par des ingénieurs de l'université de Monash en 1983. Depuis lors, le soutien de l'outil a été assuré par de nombreuses personnes, y compris les auteurs d'un magazine sur les micro-ordinateurs et le participant à la LKML David Niemi. La prochaine version de l'outil est supervisée par Anthony Voellm () de Microsoft.
UnixBench est composé d'un ensemble de tests individuels. Ils comparent la vitesse d'exécution du code sur une machine sous Unix avec les performances d'un système de référence, représenté par 20-61. Sur la base de cette comparaison, un score est généré, déterminant la performance.
Parmi les tests disponibles figurent : Whetstone, qui évalue l'efficacité des opérations à virgule flottante, File Copy, qui mesure la vitesse de copie des données, et plusieurs benchmarks 2D et 3D. Une liste complète des tests est disponible dans . Beaucoup d'entre eux sont utilisés pour évaluer les performances des machines virtuelles dans le cloud.
Cet ensemble de tests a été conçu par les auteurs du site web Phoronix, qui publie des nouvelles sur les distributions GNU/Linux. Le Test Suite a été présenté pour la première fois en 2008 - il comprenait alors 23 tests différents. Plus tard, les développeurs ont lancé le service cloud , où les utilisateurs pouvaient publier leurs propres scénarios de test. Aujourd'hui, il contient environ 60 ensembles de benchmarks, y compris ceux liés à l'apprentissage automatique et à la technologie de ray tracing.
Des ensembles de scripts spécialisés permettent de tester des composants individuels du système. Ils permettent d'évaluer le temps de compilation du noyau et l'encodage de fichiers vidéo, la vitesse de compression des archives, etc. Pour lancer les tests, il suffit d'écrire la commande correspondante dans la console. Par exemple, cette commande initie l'évaluation des performances du CPU :
phoronix-test-suite benchmark smallptPendant les tests, le Test Suite surveille automatiquement l'état du matériel (température du CPU et vitesse de rotation des ventilateurs), protégeant ainsi le système contre la surchauffe.

/ Unsplash /
Un outil pour générer des charges I/O sur les systèmes de stockage, développé par Oracle. Il aide à évaluer les performances et l'intégrité des systèmes de stockage (nous avons préparé un ).
Le fonctionnement de la solution est le suivant : sur un système réel, le programme SWAT (Sun StorageTek Workload Analysis Tool) est lancé, créant un dump de toutes les opérations sur le disque sur une période donnée. Les informations enregistrées incluent le timestamp, le type d'opération, l'adresse et la taille du bloc de données. Ensuite, à l'aide du fichier dump, vdbench simule la charge sur n'importe quel autre système.
La liste des paramètres pour contrôler l'outil se trouve dans le . Le code source de l'outil est disponible .
Outil en ligne de commande pour évaluer la performance des systèmes de fichiers. Il détermine la vitesse de lecture, d'écriture et de réécriture des fichiers. Des dizaines de programmeurs ont participé au développement de l'outil, mais son auteur est l'ingénieur William Norcott. Le développement a été soutenu par des entreprises telles qu'Apple, NetApp et iXsystems.
Pour gérer les flux et leur synchronisation pendant le test, l'outil utilise le standard À la fin de son exécution, IOzone génère un rapport avec les résultats soit au format texte, soit sous la forme d'une feuille de calcul (Excel). L'outil comprend également un script gengnuplot.sh qui crée un graphique tridimensionnel à partir des données du tableau. Des exemples de tels graphiques peuvent être trouvés dans la documentation de l'outil ().
IOzone est disponible en tant que profil de test dans le déjà mentionné Phoronix Test Suite.
Lecture complémentaire de nos blogs et réseaux sociaux :
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Source : habr.com
