Het meten van de algemene snelheid van een opslagschijf is niet ingewikkeld. Met een exemplaar van CrystalDiskMark, de oude gratis build van HD Tune of andere vergelijkbare software is voldoende. Er zijn echter gebruikers die hun hardware onder meer specifieke omstandigheden moeten evalueren, met zeer goed gedefinieerde werklasten. Op dat moment komt het hulpprogramma FIO in beeld. Het heeft geen interface, de documentatie is niet de beste ter wereld en het leert je onderweg niets, maar als je een van die gebruikers bent, heb je een kopie nodig.
Een punt dat vaak wordt bekritiseerd bij de meest populaire benchmarks is hun synthetische profiel. Vanuit een bepaald oogpunt is het gebruik van een vast, repetitief en onveranderlijk benchmark nuttig omdat we hetzelfde 'regelpakket' over meerdere hardwareconfiguraties kunnen uitbreiden, maar er zijn momenten waarop dat voordeel in duigen valt. Zo is een harde schijf die in een desktop-systeem werkt niet hetzelfde als een schijf in een server met volledig andere werklasten.
Dat betekent dat we bij programma's zoals CrystalDiskMark of de klassieke HD Tune in werkelijkheid "goed geïnformeerde meningen" krijgen over de prestaties van een schijf of SSD, terwijl er op de achtergrond knelpunten, driverbugs en andere configuratiefouten kunnen zijn die wachten om alles te verpesten. Hoe detecteer je die? Met een superflexibele, geavanceerde benchmark die bijna elke werklast kan reproduceren: FIO.
Dus... als het zo goed is, waarom is het dan niet beroemder? Het antwoord is eenvoudig: het is geen benchmark bedoeld voor de gewone gebruiker. Het heeft geen grafische interface, noch een assistent die elk van zijn parameters uitlegt. Met FIO moet je precies weten wat je wilt evalueren en geen hulp verwachten om dat te bereiken. FIO gedraagt zich als een simulator/joker, een 'multi-use zakmes' dat de ontwikkelaar de hoofdpijn bespaarde van het maken van een individuele benchmark voor elke werklast. Maar die flexibiliteit wordt weerspiegeld in de modificatoren die nodig zijn voor de uitvoering. Bijvoorbeeld:
fio --name=random-write --ioengine=windowsaio --rw=randwrite --bs=4k --numjobs=1 --size=4g --iodepth=1 --runtime=60 --time_based --end_fsync=1
- «Name» is de naam die het gegenereerde bestand tijdens de benchmark zal dragen.
- «IOEngine» definieert de manier waarop FIO met het bestandssysteem communiceert (in Windows is het 'windowsaio', voor de rest 'posixaio').
- «--rw=randwrite» geeft aan dat we willekeurige schrijfbewerkingen willen evalueren.
- «--bs=4k» is de blokgrootte, 4K, een ware kwelling voor veel opslagmedia.
- «--size=4g» stelt de bestandsgrootte in, 4 gigabyte.
- «--numjobs=1» beveelt de creatie van één bestand en één proces binnen dat bestand.
- «--iodepth=1» is de diepte voor het stapelen van opdrachten in de wachtrij van het besturingssysteem (gelijk aan één bewerking tegelijk).
- «--runtime=60» is de uitvoeringstijd, 60 seconden.
- «--end_fsync=1» houdt de teller actief totdat alle bewerkingen zijn voltooid.
Het eindresultaat verschijnt onder de legende «Run Status Group»: In mijn geval deed FIO er 87.230 milliseconden over om in totaal 6.307 "mebibytes" te schrijven (dat wil zeggen, basis 1.024), wat neerkomt op ongeveer 72.3 "mebibytes" per seconde, iets tussen laag en normaal voor een gewone SSD.
Wil je meer weten over FIO? Zo ja, de mensen van Ars Technica hebben een uitstekende handleiding gepubliceerd, maar de eerste aanbeveling blijft om de officiële documentatie te lezen. Onthoud: FIO werkt erg goed, maar het leert niet en legt niets uit. Om het onder de knie te krijgen, moet je je handen vuil maken.
Officiële site en downloads: Klik hier
Bron: Ars Technica