Playing with FIO — Flexible IO Tester
Few days back I thought applying my technical knowledge to my day to day life, in my opinion it is the best way I can learn something more easily no matter how complex it is, than came an idea to test the performance of my own external SSD (solid state drive) with the help of Flexible IO Tester, with FIO one can define synthetic test workloads.
Without going into much details, I will focus into a simple sequential read test on a SSD.
First On my mac I checked all the memory devices that are connected to my mac, below one is the SSD drive that I will be playing with
FIO can be installed on mac as below : —
brew install fio
Performing the Sequential Read test
sudo fio — filename=/dev/disk2 — name=seqread — ioengine=posixaio — rw=read — bs=4k — numjobs=1 — size=4g — iodepth=1 — runtime=30 — time_based — end_fsync=1
Decoding the parameters
filename -> the name of the device on which I am running the test
name-> It is the name of the job, in our case sequential read
ioengine -> It tells how the I/O to the files are issued
rw -> read implies that we will be doing sequential read
numjobs-> We are creating one file and running a single process
size -> the size of out test file
runtime -> The time after which we want to terminate the test
time_based -> run it for 30 s, no matter if we completer before 30s , keep it running and let it run till at least 30 seconds
end_fsync -> Once all the operations are in line, the timer will go on until the last is completed.
Here is the output
We can notice that the BW is 11.9 MB/s and io — 357MB