Thursday, January 18, 2018

How to use Fio (Flexible I/O Tester) to Measure Disk Performance in Linux

Fio which stands for Flexible I/O Tester is a free and open source disk I/O tool used both for benchmark and stress/hardware verification developed by Jens Axboe.
It has support for 19 different types of I/O engines (sync, mmap,
libaio, posixaio, SG v3, splice, null, network, syslet, guasi,
solarisaio, and more), I/O priorities (for newer Linux kernels), rate
I/O, forked or threaded jobs, and much more. It can work on block
devices as well as files.
Fio accepts job descriptions in a simple-to-understand text format.
Several example job files are included. Fio displays all sorts of I/O
performance information, including complete IO latencies and
percentiles.
It is in wide use in many places, for both benchmarking, QA, and
verification purposes. It supports Linux, FreeBSD, NetBSD, OpenBSD, OS
X, OpenSolaris, AIX, HP-UX, Android, and Windows.
In this tutorial, we will be using Ubuntu 16 and you are required to
have sudo or root privileges to the computer. We will go over the
installation and use of fio.

Installing fio from Source

We are going to clone the repo on GitHub. Install the prerequisites,
and then we will build the packages from the source code. Lets’ start by
making sure we have git installed.

We hope you enjoyed this tutorial and enjoyed following along, Fio is
a very useful tool and we hope you can use it in your next debugging
activity. If you enjoyed reading this post feel free to leave a comment
of questions. Go ahead and clone the repo and play around with the code.