FIO – Benchmark Testing

mobile phone, performance, icon-7329788.jpg

I want to go over some benchmark testing using FIO, these are just to demonstrate how FIO runs and not actual performance numbers.

First FIO – what is that? Flexible I/O Tester

FIO spawns a number of threads or processes doing a particular type of I/O. There is plenty of documentation on how to install fio on your server. I have only seen this on Linux. (note: I haven’t found a good FIO client for Mac, if you find one, let me know!)

To install FIO on Ubuntu just run the following:

sudo apt-get update && sudo apt-get install fio -y

Getting right to the chase – how do I run FIO? You can run FIO in 2 ways.

  • one big command – i.e. fio –option1 –option2 –option3
  • fio file – you have a file with your options, this is preferred.

Here is the “one big command” this command is typically for trying to find random reads.

sudo fio --filename=device name --direct=1 --rw=randread --bs=4k --ioengine=libaio --iodepth=256 --runtime=120 --numjobs=4 --time_based --group_reporting --name=iops-test-job --eta-newline=1 --readonly

Here is the same command in a job file. Create a file called randomread.fio.

[global]
bs=4K
iodepth=256
direct=1
ioengine=libaio
group_reporting
time_based
runtime=120
numjobs=4
name=raw-randread
rw=randread
							
[job1]
filename=device name

Here is how you run the job.

 fio randomread.fio

FIO can run so many different I/O jobs and tests against a system, what’s your typical tests with FIO and why? Do you have any favorite links to share around FIO?

About James Higley 7 Articles
James “higs” Higley is a Systems Engineer at Pure Storage [TECHNOLOGY]. Often out side of work, you can find James hanging out with his family and friends. [LIFE]

Be the first to comment

Leave a Reply

Your email address will not be published.


*