How To Measure Disk Performance IOPS With Fio in Linux
The Fio is one of the best disk performance and benchmarking utility for Linux. The Fio is a free and open source.
IOPS (Input/Output Operations Per Second) is a common performance measurement used to benchmark computer storage devices like hard disk drives (HDD), solid state drives (SSD), and storage area networks (SAN).
Install Fio on Ubuntu:
$ sudo apt-get install fio
Install Fio on CentOS 7:
$ sudo yum install epel-release $ sudo yum install fio
Measuring random IOPS with FIO Examples
Random read/write performance:
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randrw --rwmixread=75
This command will create a 4 GB file, and perform 4KB reads and writes using a 75%/25%, with 64 operations running at a time. The 3:1 ratio is a rough approximation of your typical database.
Here is output example:
My disk performance: 10889 read operations per second (IOPS) and 3630 write operations per second.
Random read performance:
To measure random read IOPS use command:
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randread
Random read performance example output:
Random write performance:
To perform randwrite instead of randread:
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randwrite
Do not forget delete test files, because Fio creates temporary files for disk performance measurement.
Measuring latency with IOPing
To measure your disks I/O latency you can use IOPing tool.
Install IOPing on Ubuntu:
$ sudo apt-get install ioping
Install IOPing on CentOS 7:
$ sudo yum install epel-release $ sudo yum install ioping
IOPing ussage example:
$ ioping .
To stop after 10 count, use the -c option:
$ ioping -c 10 .
Here is example output :
The average was 200 us. On a healthy system you should see low variation and an average below 1.0 ms.
Discuss article in ArsTech Forum