trapexit / mergerfs

a featureful union filesystem
http://spawn.link
Other
4.03k stars 168 forks source link

Can't use fio to check performace of mergerfs #1282

Open nguoido opened 7 months ago

nguoido commented 7 months ago

I can't use fio to check perfomace of mergerfs:

  1. Setup via Command Line

mergerfs -o cache.files=libfuse /disk1:/disk2 /media

  1. Run fio
    • Use bs=1M fio --name=test --filename=/media --rw=read --bs=1M --numjobs=32 --runtime=20 --iodepth=8 --direct=1 --ioengine=libaio

fio: blocksize is larger than data set range fio: blocksize is larger than data set range fio: blocksize is larger than data set range fio: blocksize is larger than data set range

I get this message

fio: looks like your file system does not support direct=1/buffered=0 fio: destination does not support O_DIRECT fio: pid=1705728, err=22/file:filesetup.c:805, func=open(/media), error=Invalid argument fio: pid=1705726, err=22/file:filesetup.c:805, func=open(/media), error=Invalid argument fio: pid=1705727, err=22/file:filesetup.c:805, func=open(/media), error=Invalid argument fio: looks like your file system does not support direct=1/buffered=0 fio: destination does not support O_DIRECT

I wonder if can I use fio to check performace of mergerfs? Note: If I use RAID0, I can use fio to check performace

trapexit commented 7 months ago

1) Please include information in tickets as request. I really can't comment on things intelligently without those details. 2) O_DIRECT is only partially supported due to the limitations of FUSE. Newest versions of mergerfs now somewhat support O_DIRECT but not fully.