I was using this guide to try to perform a large sequential write with FIO: https://chiadecentral.com/fio/
And modified the script at the bottom of the page as follows:
[global]
bs=1024K
iodepth=32
direct=1
ioengine=posixaio
group_reporting
time_based
name=seq
log_avg_msec=1000
bwavgtime=1000
filename=/Users/*user*/Desktop
size=1000G
[wr_qd_256_128k_1w]
stonewall
bs=128k
iodepth=32
numjobs=1
rw=write
runtime=600
write_bw_log=seq_write_bw.log
It ran well, but I am somewhat confused as to how FIO works… and if it is even meaningful running a benchmark on an internal system drive.
Basically – The test ran at the disk speed of about 5.5GB/s for the first 5 mins, then began to slow down, typical of an SSD. But I am confused as to how FIO is doing the write test – as it does not fill up the disk at all, what is it writing to exactly and is it immediately removing any data that is written?
The disk is only 1TB in size, so you would expect it to fairly rapidly hit the ‘real’ TLC state of the SSD, but it seemingly wrote for almost 7 minutes at 5.5GB/s – well beyond the actual capacity of the disk.
I ran the script expecting FIO to write a large file sequentially – and I expected to see a slow down in the disk a lot sooner than I did.