Other ntfs-3g transfer rates

I have a NTFS formatted USB3 drive. When I mount it under Linux, it averages around 100-120MB/s read/write whereas under FreeBSD 12 it tops out at 40MB/s.

Is there anything I can do improve the transfer rates for NTFS/fuse drives? Otherwise, are there any improvements planned for NTFS/fuse under FreeBSD so that it performs as well as under Linux?
 
I've not tried rebuilding ntfs-3g with debug turned off (presuming the regular build has it turned on as you say) but I'd be surprised if debug makes it 2-3x slower.
 
It's not the port/package that has debugging turned on. It's the OS itself, -CURRENT is a development version.
 
The CURRENT snapshots have some nasty (slow) debugging features turned on. If you don't disable them then any performance comparison is meaningless. Please see /usr/src/UPDATING:
Code:
NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
        FreeBSD 12.x has many debugging features turned on, in both the kernel
        and userland.  These features attempt to detect incorrect use of
        system primitives, and encourage loud failure through extra sanity
        checking and fail stop semantics.  They also substantially impact
        system performance.  If you want to do performance measurement,
        benchmarking, and optimization, you'll want to turn them off.  This
        includes various WITNESS- related kernel options, INVARIANTS, malloc
        debugging flags in userland, and various verbose features in the
        kernel.  Many developers choose to disable these features on build
        machines to maximize performance.  (To completely disable malloc
        debugging, define MALLOC_PRODUCTION in /etc/make.conf, or to merely
        disable the most expensive debugging functionality run
        "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
If you want to do some debugging of this problem, you could find out whether the problem is the NTFS file system, or the USB interface: Mount the disk with the NTFS file system, try reading large files, you'll probably get the 40 MB/s you reported above. Then unmount the disk, and read from it with dd (very large blocks, like dd if=/dev/daXX of=/dev/null bs=16m count=64). If it is much faster then 40 MB/s, then the problem is in NTFS. (Hint: In the long run, to do it right, you should do the dd test on both edges of the drive and the middle, since drive performance varies with position, but those are details/)

On the other hand, this test is a waste of time, until you have switched to running a production system; so maybe just keep it in mind for later.
 
Back
Top