Understaning direct option in fio for rw=read and rw=randread.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I have few query on fio direct=0/1 option.

fio version: fio-3.8-88-ge971
linux version: Ubuntu 18.04 4.15.0-29-generic

Below are the job files that I am testing and its output snippet.

Job file1: read_bypass_cache.fio

[read_bypass_cache]
rw=read
ioengine=sync
size=10MB
filename=read_file

Output snippet of multiple runs:
           read issued = 2560
Run1:  sda: ios=8/0, merge=0/0, ticks=820/0, in_queue=1040, util=86.14%
Run2:  sda: ios=39/0, merge=0/0, ticks=240/0, in_queue=268, util=57.38%
Run3:  sda: ios=39/0, merge=0/0, ticks=248/0, in_queue=276, util=59.02%

Above job files seems working fine, io hits the cache and not the file
for read operation.


Job file2: randread_bypass_cache.fio

[randread_bypass_cache]
rw=randread
ioengine=sync
size=10MB
filename=randread_file

Output snippet of multiple runs:
read issued: 2560
 sda: ios=2227/0, merge=0/0, ticks=2500/0, in_queue=2500, util=88.97%
 sda: ios=2148/7, merge=0/3, ticks=1200/76, in_queue=1276, util=80.64%
 sda: ios=2137/0, merge=0/0, ticks=1196/0, in_queue=1196, util=80.16%

Why when rw=randread and direct=0(by default) is set, io still hitting
file for read operation instead of cache?
As 2560-2227= 333 only accessed from cache.


set direct=1 option in below file.
Job file3: randread_bypass_cache_direct.fio

[randread_bypass_cache]
rw=randread
direct=1
ioengine=sync
size=10MB
filename=randread_file_direct

Output snippet of multiple runs:
  read issued: 2560
  sda: ios=2343/0, merge=0/0, ticks=3692/0, in_queue=3692, util=92.65%
  sda: ios=2334/0, merge=0/0, ticks=1896/0, in_queue=1896, util=84.57%
  sda: ios=2365/0, merge=0/0, ticks=1940/0, in_queue=1940, util=86.57%

Actually there is not much difference in sda ios when direct =0 and
direct=1 is set rw=randread.
Is it how io randread suppose to work?

Thanks and Regards,
Mohan



[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux