Vandaag zullen we het hebben over open tools voor het beoordelen van de prestaties van processors, geheugen, bestandssystemen en opslagsystemen.
De lijst bevat hulpprogramma's die worden aangeboden door GitHub-bewoners en deelnemers aan thematische threads op Reddit - Sysbench, UnixBench, Phoronix Test Suite, Vdbench en IOzone.
Dit is een hulpprogramma voor het testen van MySQL-servers, gebaseerd op het LuaJIT-project, waarbinnen een virtuele machine voor de Lua-taal wordt ontwikkeld. De auteur van de tool is programmeur en MySQL-expert Alexey Kopytov. Het project begon als een hobby, maar kreeg na verloop van tijd erkenning van de gemeenschap. Tegenwoordig wordt sysbench bij hun werk gebruikt door grote universiteiten en IT-organisaties. zoals IEEE.
Tijdens de SECR-2017-conferentie (opname van toespraak beschikbaar op YouTube) Alexey zei dat je met sysbench de prestaties van een database kunt evalueren bij het overstappen naar nieuwe apparatuur, het updaten van de DBMS-versie of een plotselinge verandering in het aantal queries. Over het algemeen is de opdrachtsyntaxis voor het uitvoeren van een test als volgt:
sysbench [options]... [testname] [command]
Deze opdracht bepaalt het type (cpu, geheugen, fileio) en parameters van de laadtest (aantal threads, aantal verzoeken, snelheid van transactieverwerking). Over het geheel genomen kan de tool miljoenen gebeurtenissen per seconde verwerken. Alexey Kopytov sprak in meer detail over de architectuur en interne structuur van sysbench in een van afleveringen van de Software Development Podcast.
Een set tools voor het evalueren van de prestaties van Unix-systemen. Het werd in 1983 geïntroduceerd door ingenieurs van de Monash University. Sindsdien hebben veel mensen de tool gesteund, bijvoorbeeld de auteurs van een tijdschrift over microcomputertechnologieën Byte tijdschrift en LKML-lid David Niemi. Anthony Voelm is verantwoordelijk voor de release van de volgende versie van de tool (Antonius Voellm) van Microsoft.
UnixBench is een reeks aangepaste benchmarks. Ze vergelijken de snelheid van code-uitvoering op een Unix-machine met de prestaties van een referentiesysteem SPARCstation 20-61. Op basis van deze vergelijking wordt een prestatiescore gegenereerd.
Tot de beschikbare tests behoren: Whetstone, dat de efficiëntie van drijvende-kommabewerkingen beschrijft, File Copy, dat de snelheid van het kopiëren van gegevens evalueert, en verschillende 2D- en 3D-benchmarks. Een volledige lijst met tests is te vinden in opslagplaatsen op GitHub. Velen van hen gebruiken om de prestaties van virtuele machines in de cloud te evalueren.
Deze reeks tests is ontwikkeld door de auteurs van de Phoronix-webbron, die nieuws publiceert over GNU/Linux-distributies. Test Suite werd voor het eerst geïntroduceerd in 2008 en bevatte toen 23 verschillende tests. Later lanceerden de ontwikkelaars een cloudservice openbenchmarking.org, waar gebruikers hun eigen testscripts konden posten. Vandaag erop gepresenteerd ongeveer 60 benchmarksets, waaronder die met betrekking tot machine learning en ray-tracing-technologie.
Met sets van gespecialiseerde scripts kunt u individuele systeemcomponenten testen. Met hun hulp kun je de tijd inschatten voor het compileren van de kernel en het coderen van videobestanden, de compressiesnelheid van archiveringsprogramma's, enz. Om tests uit te voeren, schrijf je gewoon de juiste opdracht in de console. Met deze opdracht wordt bijvoorbeeld een evaluatie van de CPU-prestaties gestart:
phoronix-test-suite benchmark smallpt
Tijdens het testen bewaakt Test Suite onafhankelijk de status van de apparatuur (CPU-temperatuur en rotatiesnelheid van de koeler), waardoor het systeem tegen oververhitting wordt beschermd.
Een tool voor het genereren van I/O-belasting op schijfsystemen, ontwikkeld door Oracle. Het helpt bij het evalueren van de prestaties en integriteit van opslagsystemen (we hebben informatie opgesteld over hoe u de theoretische prestaties van een schijfsysteem kunt berekenen korte informatie).
De oplossing werkt als volgt: op een echt systeem wordt het SWAT-programma (Sun StorageTek Workload Analysis Tool) gestart, dat een dump creëert met alle schijftoegangen gedurende een bepaalde periode. Het tijdstempel, het bewerkingstype, het adres en de gegevensblokgrootte worden vastgelegd. Vervolgens emuleert vdbench met behulp van het dumpbestand de belasting op elk ander systeem.
De lijst met parameters voor het beheer van het hulpprogramma staat in de officiële versie Oracle-document. De broncode van het hulpprogramma is te vinden op de bedrijfswebsite.
Consolehulpprogramma voor het evalueren van de prestaties van bestandssystemen. Het bepaalt de snelheid van het lezen, schrijven en herschrijven van bestanden. Tientallen programmeurs namen deel aan de ontwikkeling van de tool, maar de auteur van de eerste versie beschouwd ingenieur William Norcott. De ontwikkeling werd ondersteund door bedrijven als Apple, NetApp en iXsystems.
Om threads te beheren en tijdens het testen te synchroniseren, gebruikt de tool de standaard POSIX-discussies. Na voltooiing van de werkzaamheden produceert IOzone een rapport met de resultaten, hetzij in tekstformaat, hetzij in de vorm van een spreadsheet (Excel). De tool bevat ook het script gengnuplot.sh, dat een driedimensionale grafiek bouwt op basis van tabelgegevens. Voorbeelden van dergelijke grafieken zijn te vinden in de documentatie voor de tool (blz. 11–17).
IOzone is beschikbaar als testprofiel in de reeds genoemde Phoronix Test Suite.
Aanvullende informatie van onze blogs en sociale media: