Fio startet mehrere vorgegebene Schreib- und Leseoperationen gleichzeitig. Dabei misst es unter anderem die Bandbreite, die Anzahl der Lese- und Schreibzugriffe pro Sekunde, die Latenzen sowie einige weitere Parameter. Im einfachsten Fall schreibt das Werkzeug eine Testdatei mit Nonsensdaten und liest diese dann wieder ein. Dank der flexiblen Konfiguration bildet Fio aber auch auf Wunsch den zukünftig von einer Datenbank zu erwartenden Workload nach. Auf diese Weise lässt sich schnell prüfen, ob die Serverhardware mit den zukünftigen Datenmengen zurechtkommt. Anwender dürfen sogar das Verhalten ändern, mit dem Fio die einzelnen Ein- und Ausgabebefehle (I/O Operations) absetzt.
Jens Axboe entwickelte Fio ursprünglich, um das I/O-Subsystem von Linux zu testen. Die vorhandenen Benchmarks erschienen ihm zu unflexibel, woraufhin er kurzerhand sein eigenes Tool schrieb. 14 Jahre später liegt Fio in der Version 3.18 vor, hat sich in der Praxis bewährt und läuft neben Linux auch offiziell unter Windows, macOS, NetBSD, OpenBSD, FreeBSD, Solaris, AIX, HP-UX sowie DragonFly. Insbesondere unter FreeBSD und Solaris stehen jedoch nicht sämtliche Funktionen bereit. Fio ist unter der GNU GPL v2 lizenziert, die Entwicklung lässt sich auf GitHub verfolgen [1].
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.