Ein Überblick über Benchmark-Programme und deren Nutzung ist ein Bestandteil des Linux Performance Analyse & Tuning-Kurses, den ich halte. Gerade I/O Benchmarks sind mir dabei besonders wichtig, da es besonders im Storage-Bereich große Herausforderungen in Bezug auf die Performance gibt. Flashspeicher trägt zwar massiv dazu bei, diese Herausforderungen zu meistern. Die Datenmengen werden jedoch immer größer und Flashspeicher ist immer noch teurer als Festplatten.
Schon vor langem stieß ich dabei auf ein Programm, das besonders flexibel arbeitet: Der Flexible I/O Tester. Jens Axboe, Maintainer des Block Layers, der Schicht im Linux-Kernel, die blockweise auf Massenspeicher zugreift, schrieb diesen Benchmark. Er wollte sich nicht mehr für jeden Benchmark im Storage-Bereich, der für seine Arbeit sinnvoll ist, das passende Programm heraussuchen. Daher schrieb er ein Programm für alle möglichen Benchmarks. Der Flexible I/O Tester, kurz Fio, verwendet daher eine Job-Beschreibung, die den zu testenden Workload beschreibt. Es führt diesen Workload anschließend aus und misst IOPS, Bandbreite und Latenzen.
Das Programm ist ein sehr praktisches Werkzeug für den Kurs und einen eigenen Blog-Post wert. Allerdings gab es damals kein fertiges Paket für Debian. Also entschied ich mich bereits 2009 einfach selbst eins zu erstellen, das ich bis heute betreue. Im November 2015 baute ich auch das Erstellen eines Binär-Paketes für das grafische Frontend Gfio in das Quelltext-Paket ein.