WeHack BBS
感觉 Linux 5.15 的 ntfs3 驱动没什么性能优势 - 可打印的版本

+- WeHack BBS (https://bbs.wehack.space)
+-- 版块: 计算机技术 (https://bbs.wehack.space/forum-5.html)
+--- 版块: GNU/Linux 讨论区 (https://bbs.wehack.space/forum-6.html)
+--- 主题: 感觉 Linux 5.15 的 ntfs3 驱动没什么性能优势 (/thread-320.html)



感觉 Linux 5.15 的 ntfs3 驱动没什么性能优势 - vimacs - 11-15-2021

这几天想往单位 IT 的 Losedows 机器传点大文件,于是把一个 mSTAT SSD 装到一个 USB 3.0 硬盘盒并分出一个 NTFS 分区,把整个大文件放到这个 NTFS 分区里面。恰好 Linux 5.15 合并了 ntfs3 驱动,我就想借此机会体验一下这个驱动和以前基于 FUSE 的 ntfs-3g 相比表现如何。操作系统是 Arch, ntfs-3g 版本 2021.8.22, libfuse 版本是 Arch 的 2.9.9-4, Linux 内核版本 5.15.2.

我的测试是把 9.5G 的 CentOS-7-x86_64-Everything-2009.iso 放进这个分区里面。之后我重新启动两次系统,启动系统后分别用 ntfs-3g 和 ntfs3 挂载这个 NTFS 分区,然后用 sha256sum 算这个大文件的散列。

使用 ntfs-3g 的时候,用 iotop 可以看到这个硬盘的读速度达到接近 300MB/s,过了半分钟多一点的时间就把文件的散列值打出来了。

使用 ntfs3 的时候,用 iotop 看读速度一直都是不到 40MB/s,算个散列值花了 4 分多钟。

所以我感觉 ntfs3 性能不行,暂时还是继续使用 ntfs-3g.

再跑了一次,不知道为什么,这次 ntfs3 的性能突然间就正常了,不过还是比 ntfs-3g 要慢一些。
在上述硬件上,最后一次测试的结果是: ntfs-3g 读速度大概是 290MB/s, ntfs3 读速度大概是 230MB/s, 写速度两个驱动都大概是 90MB/s.

用 dd 测试:time dd if=/mnt/CentOS-7-x86_64-Everything-2009.iso of=/dev/null bs=4M
这个时候 ntfs3 的速度比 ntfs-3g 快一点,ntfs3 的速度有 301MB/s, ntfs-3g 是 294MB/s.
用 dd 或者 hdparm 直接对整个设备做读取测试,这块在 USB 3.0 上的 SSD 大概就是 300MB/s 左右,两个驱动在用 dd 读文件的时候基本上都是跑满了设备的速度。

奇怪了,刚才把 ntfs-3g 卸了,然后又测了一次,这次又是 40MB/s 的读速度。而且重新装上 ntfs-3g 之后,ntfs-3g 的速度也不行了,不知道到底发生了什么。