Linux_FileSystems

2019-03-27 88 Words Linux

Linux 下文件系统性能的简单评测

其实这篇文章的数据源早在19年2月份就已经完成了 … 主要是为了看看 Linux 系统中那么多文件系统在实际使用时的性能表现如何,特别是为了考察 2019 年初 btrfs 性能能否基本满足日常使用。值得注意的是,测试使用了 MacBook Pro 2016 的固态硬盘,对于机械硬盘结果可能有较大差别。

这次测试主要是在 Linux Kernel 4.20 和 3.10 两个版本中进行测试,可以看到在内核几年的发展过程中,文件系统的性能有了非常明显的提升。测试中还引入了 ZFS 这个广泛使用与 FreeBSD 的重量级文件系统,可惜不知道是不是笔者配置原因, openzfs 在 Linux 4.20 中没有办法使用,因此只有 3.10 的数据。

测试方法

为了忽略文件系统底层细节,也为了尽可能模拟日常使用中的任务。我选择使用 mdtest 工具,模拟文件的创建、读取、修改、删除;文件夹创建、读取、删除;以及文件树的创建、删除。每次测三次,取平均。

 ./mdtest -d /mnt/test/ -n 10000 -i

测试机器

  • Macbook Pro 2016
  • i5-6360u
  • 8GB LPDDR3
  • 256G PCIE SSD

数据

Kernel 3.10

/images/filesystem3.png

Kernel 4.20

/images/filesystem1.png /images/filesystem2.png

结论

从结论来看:

  1. 文件系统性能有着较大提升,其中 xfs 、 btrfs 等提升较为明显。
  2. 目前来看, ext2 文件系统性能最好,但是考虑到其年代过于久远,没有日志等特点,不再推荐使用。
  3. ext3,ext4 文件系统性能也较为优异。
  4. xfs, btrfs 等由于引入 COW 特性,导致对于文件删除性能有较大差距。
  5. 普遍来看,目前对于性能要求较高则推荐使用 xfs 和 ext4 文件系统。
  6. btfrs 性能提升非常之大,如果需要使用其高级功能,则可以考虑使用(从官网上看,除了磁盘限额有性能问题、raid 5/6 模式可能有bug外基本稳定。
  7. zfs 在 linux 下可能由于驱动原因,性能较差,不适合用于重度使用

Related Topics


No related topics