[HEADS UP] ntfs-3g: better performance with libublio
alepulver at FreeBSD.org
Wed May 2 16:03:37 PDT 2007
I have applied the libublio patch to the current ntfs-3g and integrated
with fjoe's aligned I/O layer. Before the read/write speed was about
2/1.2 MB/s, and now about 15/9 MB/s (of course depends on many things,
but to illustrate the point that is drastically improves performance).
The ni-kernel driver reads at 10MB/s, but is much faster in filesystem
operations (listing files, find(1), etc). In addition the disk activity
is a lot smoother. Also it outputs an error when creating a file
sometimes, but can be safely ignored (just try again), I will
investigate it (this happened before too).
The reason AFAIK is the lack of cache for block devices, which was
(re)added in FreeBSD-CURRENT (7.x). So the solution for users of
FreeBSD 6 (and 5, but the port isn't available for that release)
consists on using a user space cache.
I tried to contact fuse4bsd/libublio author, port maintainer, and asked
in freebsd-hackers@/freebsd-performance@ without response (I am not
blaming them, perhaps they were busy, I didn't ask correctly or simply
there was no interest about this there). I don't even know what's the
OSVERSION value to check this.
That's why I am asking for testers here. The patch to the current port
is at people.freebsd.org/~alepulver/fusefs-ntfs.diff, if
libublio-20070103.tar.gz can't be fetched because the mirrors weren't
updated get it from: http://people.freebsd.org/~alepulver/).
Without UBLIO_SYNC_IO=0 it's slower than without UBLIO, and increasing
UBLIO_BLOCKSIZE to 1/2/4MB seems a good improvement (also the disk is
not constantly reading/writing). Increasing UBLIO_ITEMS more than 24
doesn't seem to increase performance.
In Mac OS X the same problem exists, but cache for block devices was
not added AFAIK so this would be interesting (currently the only
working solution) for them.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20070502/fbc8ea1a/signature.pgp
More information about the freebsd-ports