FIO is a tool for measuring IO performance. You can use FIO to run a user-defined workload and collect the associated performance data.
A good writeup can be found at Fio Basics. For more information, do MAN on fio
Step 1: To Install fio, make sure you activated the epel repository.
# yum install fio
Parameters to be used.
% fio --filename=myfio --size=5GB --direct=1 --rw=randrw --bs=4k --ioengine=libaio --iodepth=256 --runtime=120 --numjobs=4 --time_based --group_reporting --name=iops-test-job --eta-newline=1
An entire block size or filename can be specified. For example if you are testing block size filename=/dev/sda:/dev/sdb
Indicate the size of the test file generated. If you are testing the block size and did not specify the size, the entire block will be used.
This means that the page cache is bypassed. No memory is used.
Check whether IO is access sequentially or randonly. There are a few options.
read – Sequential reading
write – Sequential Write
randread – random reading
randwrite – random writing
readwrite , rw – Mixed, sequential workload
randrw – Mixed Random Workload
Block Size. By default 4kB is used.
libaio enables asynchronous access from the application level. The option would requires –direct=1
Refers to how many requests.
Specifies the number of processes that start the jobs in parallel
Terminate processing after the specified period of time
Name of the job
fio will run for the duration of the runtime specified
Display statistics for groups of jobs as a whole instead of for each individual job. This is especially true if
numjobs is used;