Die allgemeine Geschwindigkeit eines Speichermediums zu messen ist nicht kompliziert. Mit einer Kopie von CrystalDiskMark, dem alten kostenlosen HD Tune oder anderer ähnlicher Software ist das ausreichend. Es gibt jedoch Benutzer, die ihre Hardware unter spezifischeren Bedingungen testen müssen, mit klar definierten Workloads. Dann kommt das FIO-Tool ins Spiel. Es hat keine Oberfläche, die Dokumentation ist nicht die beste der Welt, und es lehrt dich unterwegs nichts, aber wenn du einer dieser Benutzer bist, brauchst du eine Kopie.
Synthetische Benchmarks: nützlich, aber begrenzt
Ein Punkt, der bei den beliebtesten Benchmarks häufig kritisiert wird, ist ihr synthetisches Profil. Aus einer gewissen Sicht ist es nützlich, einen festen, sich wiederholenden Benchmark zu verwenden, weil wir so dasselbe „Regelpaket“ auf mehrere Hardware-Konfigurationen anwenden können, aber es gibt Zeiten, in denen dieser Vorteil zerfällt. Zum Beispiel ist eine Festplatte, die in einem Desktop-System arbeitet, nicht dasselbe wie eine in einem Server mit völlig anderen Workloads.
Das bedeutet, dass wir mit Programmen wie CrystalDiskMark oder dem klassischen HD Tune in Wirklichkeit nur „sehr höfliche Meinungen“ über die Leistung einer Festplatte oder SSD erhalten, während im Hintergrund Engpässe, Treiberfehler und andere Konfigurationsfehler lauern können. Wie erkennt man sie? Mit einem superflexiblen, fortschrittlichen Benchmark, der fast jede Workload reproduzieren kann: FIO.
Warum ist FIO nicht bekannter?
Also... wenn es so gut ist, warum ist es nicht berühmter? Die Antwort ist einfach: Es ist kein Benchmark für den normalen Benutzer. Es hat keine grafische Oberfläche, keinen Assistenten, der jeden Parameter erklärt. Mit FIO musst du genau wissen, was du testen willst, und keine Hilfe erwarten. FIO verhält sich wie ein Simulator/Allrounder, ein „Multifunktionsmesser“, das seinem Entwickler den Kopfschmerz ersparte, einen eigenen Benchmark für jede Workload zu erstellen. Diese Flexibilität spiegelt sich jedoch in den Modifikatoren wider, die für die Ausführung benötigt werden. Zum Beispiel:
fio --name=random-write --ioengine=windowsaio --rw=randwrite --bs=4k --numjobs=1 --size=4g --iodepth=1 --runtime=60 --time_based --end_fsync=1
- „Name“: Der Name der während des Benchmarks erzeugten Datei.
- „IOEngine“: Definiert die Art, wie FIO mit dem Dateisystem interagiert (unter Windows „windowsaio“, für den Rest „posixaio“).
- „--rw=randwrite“: Zeigt an, dass wir zufällige Schreibvorgänge testen möchten.
- „--bs=4k“: Die Blockgröße von 4K, eine echte Qual für viele Speichermedien.
- „--size=4g“: Legt die Dateigröße auf 4 Gigabyte fest.
- „--numjobs=1“: Fordert die Erstellung einer einzigen Datei und eines einzigen Prozesses innerhalb dieser Datei.
- „--iodepth=1“: Die Tiefe zum Stapeln von Befehlen in der Warteschlange des Betriebssystems (entspricht einer Operation gleichzeitig).
- „--runtime=60“: Die Ausführungszeit von 60 Sekunden.
- „--end_fsync=1“: Hält den Zähler aktiv, bis alle Vorgänge abgeschlossen sind.
Das Endergebnis erscheint unter der Legende „Run Status Group“: In meinem Fall brauchte FIO 87.230 Millisekunden, um insgesamt 6.307 „Mebibytes“ (also Basis 1.024) zu schreiben, was etwa 72,3 „Mebibytes“ pro Sekunde entspricht, etwas zwischen niedrig und normal für eine gewöhnliche SSD.
Möchtest du mehr über FIO erfahren? Dann hat die Leute von Ars Technica einen ausgezeichneten Leitfaden veröffentlicht, aber die Empfehlung Nummer eins bleibt die offizielle Dokumentation zu lesen. Denk dran: FIO funktioniert sehr gut, aber es lehrt und erklärt nicht. Um es zu meistern, musst du dir die Hände schmutzig machen.
Offizielle Website und Downloads: Klick hier
Quelle: Ars Technica