Vandaag bespreken we open-source tools voor het meten van de performance van processoren, geheugen, bestandssystemen en opslagoplossingen.
De lijst bevat tools aangeboden door GitHub-residenten en deelnemers aan thematische threads op Reddit, zoals Sysbench, UnixBench, Phoronix Test Suite, Vdbench en IOzone.
/ Unsplash /
Dit is een tool voor belastingstest van MySQL-servers, gebaseerd op het LuaJIT-project, dat een virtuele machine voor de programmeertaal Lua ontwikkelt. De auteur van de tool is programmeur en MySQL-expert Alexey Kopytov. Het project begon als een hobby, maar verwierf al snel erkenning binnen de gemeenschap. Vandaag de dag gebruiken grote universiteiten en IT-organisaties sysbench in hun werk. .
Tijdens de SECR-2017-conferentie (de opname van de presentatie ) vertelde Alexey dat sysbench de performance van databases kan meten bij het migreren naar nieuwe hardware, het updaten van de DBS-versie of een plotselinge verandering in het aantal verzoeken. In het algemeen ziet de syntaxis van het commando voor het uitvoeren van de test er als volgt uit:
sysbench [options]... [testname] [command]Dit commando definieert het type (cpu, memory, fileio) en de parameters van de belastingstest (aantal threads, aantal verzoeken, verwerkingssnelheid van transacties). Over het algemeen kan de tool miljoenen gebeurtenissen per seconde verwerken. Meer over de architectuur en werking van sysbench heeft Alexey Kopytov verteld in een van de .
Een set tools voor het meten van de performance van Unix-systemen. Deze werd geïntroduceerd door ingenieurs van de Monash Universiteit in 1983. Sindsdien is de ondersteuning van de tool door veel mensen gedaan, zoals de auteurs van het tijdschrift over microcomputertechnologieën en LKML-deelnemer David Niemi. Paul Verhoeven () van Microsoft is verantwoordelijk voor de uitgave van de volgende versie van de tool.
UnixBench is een verzameling individuele tests. Deze toetsen de snelheid van code-uitvoering op een machine die draait op Unix tegen de performance van een referentiesysteem, in dit geval 20-61. Op basis van deze vergelijking wordt een score gegenereerd die de performance bepaalt.
De beschikbare tests zijn onder andere: Whetstone, dat de efficiƫntie van floating-point operaties beschrijft, File Copy, dat de snelheid van gegevenskopieƫn beoordeelt, en verschillende 2D- en 3D-benchmarks. Een volledige lijst van tests is te vinden in . Veel van deze tests worden gebruikt om de prestaties van virtuele machines in de cloud te evalueren.
Dit testpakket is ontwikkeld door de auteurs van de website Phoronix, waar nieuws over GNU/Linux-distributies wordt gepubliceerd. De Test Suite werd voor het eerst gepresenteerd in 2008 - toen bevatte het 23 verschillende tests. Later lanceerden de ontwikkelaars de cloudservice , waar gebruikers hun eigen testscenario's konden publiceren. Tegenwoordig zijn er ongeveer 60 benchmark-pakketten, waaronder die gerelateerd aan machine learning en ray-tracing-technologie.
Speciale scripts stellen je in staat om specifieke systeemcomponenten te testen. Hiermee kan de tijd voor het compileren van de kernel en het coderen van videobestanden, de snelheid van compressie door archiefprogramma's, enz. worden geƫvalueerd. Om tests uit te voeren, kun je eenvoudig de bijbehorende opdracht in de console typen. Bijvoorbeeld, deze opdracht start een CPU-prestatietest:
phoronix-test-suite benchmark smallptTijdens het testen controleert de Test Suite automatisch de status van de hardware (de temperatuur van de CPU en de snelheid van de ventilatoren), zodat het systeem beschermd blijft tegen oververhitting.

/ Unsplash /
Een tool voor het genereren van I/O-lasten op opslag systemen, ontwikkeld door Oracle. Het helpt bij het beoordelen van de prestaties en integriteit van SAN (over hoe je de theoretische prestaties van een opslag systeem kunt berekenen, hebben we een ).
De oplossing werkt als volgt: op een echt systeem wordt het programma SWAT (Sun StorageTek Workload Analysis Tool) uitgevoerd, dat een dump maakt van alle schijfbenaderingen gedurende een bepaalde periode. Tijdstempel, type operatie, adres en blokgrootte worden geregistreerd. Vervolgens emuleert vdbench de belasting op elk ander systeem met behulp van het dumpbestand.
Een lijst van parameters om de utility te beheren is te vinden in de officiƫle . De broncode van de utility is te vinden .
Console utility for evaluating file system performance. It determines the speed of reading, writing, and rewriting files. The development of the tool involved dozens of programmers, with the author of its first version being engineer William Norcott. The development was supported by companies like Apple, NetApp, and iXsystems.
To manage streams and their synchronization during testing, the tool uses the standard . Upon completion of work, IOzone generates a report with results either in text format or as a spreadsheet (Excel). The tool also includes a script gengnuplot.sh that constructs a three-dimensional graph based on table data. Examples of such graphs can be found in the documentation for the tool ().
IOzone is available as a test profile in the aforementioned Phoronix Test Suite.
Additional reading from our blogs and social media:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Bron: habr.com
