https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230260

            Bug ID: 230260
           Summary: [FUSE] [PERFORMANCE]: Performance issue (I/O block
                    size)
           Product: Base System
           Version: 11.1-RELEASE
          Hardware: Any
               URL: https://robo.moosefs.com/support/fuse_helloworld.tgz
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: [email protected]
          Reporter: [email protected]

This is one of three issues we detected in FreeBSD FUSE while developing our
distributed file system. All four issues can be replicated using this simple
test script:
https://robo.moosefs.com/support/fuse_helloworld.tgz

Performance issue in FUSE: if a program uses FUSE without the "direct" option,
any I/O is always performed in 4k blocks. Maximum I/O speed we managed to get
was 600MB/s (no physical I/O, just sending zeros from a RAM buffer).

With "direct" it's fast, 5GB/s, but "direct" is not the best solution: no
cache, read operation has no limit on block size and if one uses extremely big
block size, the read speed drastically drops again (we performed dd with bs=1G
and the speed was only 40MB/s). Generally, "direct" is geared toward
stream-like data (character devices) and should not be used for disk-like I/O.

Other FUSE implementations (Linux, MacOS) use 64k block.

Best regards,
Peter / MooseFS Team

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to