Aujourd'hui, nous parlerons d'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 les utilitaires offerts par les résidents de GitHub et les membres des threads thématiques sur Reddit - Sysbench, UnixBench, Phoronix Test Suite, Vdbench et IOzone.
 / Unsplash / Veri Ivanova
 / Unsplash / Veri IvanovaIl s'agit d'un utilitaire de test de charge des serveurs MySQL, basé sur le projet LuaJIT, qui développe une machine virtuelle pour le langage Lua. L'auteur de l'outil est programmeur et expert sur MySQL Alexey Kopytov. Le projet a commencé comme un passe-temps, mais avec le temps, il a gagné la reconnaissance de la communauté. Aujourd'hui, sysbench utilise de grandes universités et des organisations informatiques 
comme IEEE dans leur travail.
Lors de la conférence SECR-2017 (il y a un enregistrement du discours 
sur YouTube ), Alexey a déclaré que sysbench vous permet d'évaluer les performances de la base de données lors du passage à un nouvel équipement, de la mise à jour de la version du SGBD ou de la modification drastique du nombre de requêtes. En général, la syntaxe de commande pour le test est la suivante:
sysbench [options]... [testname] [command] 
Cette commande détermine le type (cpu, mémoire, fileio) et les paramètres de test de charge (nombre de threads, nombre de requêtes, vitesse de traitement des transactions). En général, l'outil est capable de traiter des millions d'événements par seconde. Alexey Kopytov a parlé plus en détail de l'architecture et de la structure interne de sysbench dans l'un des 
numéros du podcast Software Development Podcast .
Un ensemble d'outils pour évaluer les performances des systèmes Unix. Il a été présenté par des ingénieurs de l'Université Monash en 1983. Depuis lors, de nombreuses personnes soutiennent cet outil, par exemple, 
Byte Magazine , l'auteur du 
magazine sur la technologie des micro-ordinateurs 
, et David Niemi, membre de LKML. 
Anthony Voellm de Microsoft est responsable de la sortie de la prochaine version de l'outil.
UnixBench est une collection de tests individuels. Ils comparent la vitesse d'exécution du code sur une machine exécutant Unix avec les performances du système de référence, qui est 
SPARCstation 20-61. Sur la base de cette comparaison, un score de performance est généré.
Parmi les tests disponibles, il y a: Whetstone, qui décrit l'efficacité des opérations en virgule flottante, File Copy, qui estime la vitesse de copie des données, et plusieurs benchmarks 2D et 3D. Une liste complète des tests peut être trouvée dans le référentiel sur GitHub . Beaucoup d'entre eux utilisent des machines virtuelles dans le cloud pour évaluer les performances des machines virtuelles.
Cette suite de tests a été développée par les auteurs de la ressource Web Phoronix, qui publie des nouvelles sur les distributions GNU / Linux. La première suite de tests a été introduite en 2008, puis elle comprenait 23 tests différents. Plus tard, les développeurs ont lancé le service cloud 
OpenBenchmarking.org , où les utilisateurs pouvaient publier leurs propres scripts de test. Aujourd'hui, il 
présente environ 60 kits de référence, y compris ceux liés à l'apprentissage automatique et à la technologie de lancer de rayons.
Des ensembles de scripts spécialisés permettent de tester des composants système individuels. Avec leur aide, vous pouvez évaluer le temps de compilation du noyau et l'encodage des fichiers vidéo, la vitesse de compression des archiveurs, etc. Pour exécuter les tests, il suffit d'écrire la commande appropriée dans la console. Par exemple, cette commande lance une évaluation des performances du processeur:
 phoronix-test-suite benchmark smallpt 
Pendant les tests, Test Suite surveille indépendamment l'état de l'équipement (température du processeur et vitesse du refroidisseur), protégeant le système contre la surchauffe.
 / Unsplash / Jason Chen
/ Unsplash / Jason Chen
Un outil pour générer une charge d'E / S sur des systèmes de disques développé par Oracle. Il permet d'évaluer les performances et l'intégrité des systèmes de stockage (nous avons préparé une 
brève aide sur la façon de calculer les performances théoriques d'un système de disque).
La solution fonctionne comme suit: sur un système réel, le programme SWAT (Sun StorageTek Workload Analysis Tool) est lancé, ce qui crée un vidage avec tous les accès au disque pendant une certaine période. L'horodatage, le type d'opération, l'adresse et la taille du bloc de données sont enregistrés. Ensuite, à l'aide du fichier de vidage, vdbench émule la charge sur tout autre système.
La liste des paramètres de gestion de l'utilitaire se trouve dans le 
document officiel d' 
Oracle . Le code source de l'utilitaire se trouve 
sur le site Web de l'entreprise .
Utilitaire de console pour évaluer les performances du système de fichiers. Il détermine la vitesse de lecture, d'écriture et d'écrasement des fichiers. Des dizaines de programmeurs ont participé au développement de l'outil, mais l'ingénieur de sa première version 
est considéré comme l' ingénieur William Norcott. Le développement a été soutenu par des sociétés comme Apple, NetApp et iXsystems.
Pour contrôler les threads et les synchroniser lors des tests, l'outil utilise la norme 
POSIX Threads . À la fin des travaux, IOzone publie un rapport avec les résultats sous forme de texte ou sous forme de feuille de calcul (Excel). L'outil comprend également le script gengnuplot.sh, qui crée un graphique en trois dimensions à partir des données des tableaux. Des exemples de tels graphiques peuvent être trouvés dans la documentation de l'instrument ( 
p. 11-17 ).
IOzone est disponible en tant que profil de test dans la suite de tests Phoronix déjà mentionnée.
Lecture supplémentaire de nos blogs et réseaux sociaux: 
 Un bogue dans Linux 5.1 a entraîné une perte de données - un correctif de correction a déjà été publié
 Un bogue dans Linux 5.1 a entraîné une perte de données - un correctif de correction a déjà été publié 
 Certains disent que la technologie DANE pour les navigateurs a échoué
 Certains disent que la technologie DANE pour les navigateurs a échoué 
 Pourquoi la surveillance est-elle nécessaire?
 Pourquoi la surveillance est-elle nécessaire? 
 Sauvegarde de fichiers: comment être à l'abri de la perte de données
 Sauvegarde de fichiers: comment être à l'abri de la perte de données 
 Comment transférer un disque dur système vers une machine virtuelle?
 Comment transférer un disque dur système vers une machine virtuelle? 
 Tout le monde parle de fuites de PD - comment le fournisseur IaaS aidera
 Tout le monde parle de fuites de PD - comment le fournisseur IaaS aidera 
 Programme éducatif court: comment la signature électronique est organisée
 Programme éducatif court: comment la signature électronique est organisée 
 Contexte: fonctionnement de la loi sur les données personnelles
 Contexte: fonctionnement de la loi sur les données personnelles