700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > ext4 ntfs xfs btrfs zfs f2fs和reiserFS文件系统性能对比

ext4 ntfs xfs btrfs zfs f2fs和reiserFS文件系统性能对比

时间:2020-07-01 03:53:36

相关推荐

ext4 ntfs xfs btrfs zfs f2fs和reiserFS文件系统性能对比

ext4、ntfs、xfs、btrfs、zfs、f2fs和reiserFS性能测试对比

原文地址:CSDN 博客

文章目录

ext4、ntfs、xfs、btrfs、zfs、f2fs和reiserFS性能测试对比1. 前言2. Linux 4.4 Benchmark2.1 测试环境2.2 测试手段2.3 测试结果2.4 各大文件系统对比3. ZFS Ubuntu 16.04 测试3.1 测试环境3.2 测试手段3.3 测试结果3.4 zfs 性能分析4. 关于性能测试5. 总结

1. 前言

目前的文件系统五花八门,从人人皆知的 ext4、ntfs 和 xfs,到 btrfs、zfs 等小众文件系统,可谓是琳琅满目,让人难以抉择适合自身业务的文件系统。

本文总结了国外网友在 OpenBenchmark 网站上的结果,并给出不同情境下各大文件系统的性能表现与对比。

目前所涉及到的文件系统包括:

btrfsxfsext4f2fsreiserFSntfszfs

写文不易,还望一键三连点个关注吧!

2. Linux 4.4 Benchmark

测试基准数据来源于 Linux 4.4 File-Systems。

2.1 测试环境

各文件系统挂载选项:

2.2 测试手段

对于文件系统的 benchmark,分为以下的测试手段:

aio-stress:使用 SuSE 开发的异步 I/O 框架,测试异步 I/O 在高压环境下的随机写入能力。sqlite:测量 SQLite 数据库进行固定数量的 Insert 操作的写入用时,此为数值越小越好的测试。flexible IO tester:无缓存情况直写磁盘的情况下,测试硬盘对 4KB 大小的块的随机读写顺序读写能力。fs-mark:创建众多的 1MB 文件以测试文件系统写入能力。dbench:模拟多用户读写压力的 benchmark 工具。compilebench:通过内核树的编译与更新,模拟并测试硬盘快满且文件夹存放过久后的表现。

2.3 测试结果

测试结果的总表如下,其中标^的为同测试中最优数据,标*为最差数据。数据单位均为 MB/s 或秒,且仅保留整数部分。:

各个测试的图表如下:

2.4 各大文件系统对比

高并发读写:btrfs 最优,xfs 及 ext4 稍好,zfs 及 ntfs 最差。随机读写:ntfs 最优,其余相差不大。顺序读写:ntfs 最优,btrfs 最差,其余相差不大顺序多文件写入:f2fs 最优,其余相差不大。并发多文件写入:ext4 最优,ntfs 最差,zfs 较弱,其余相差不大。顺序多文件写入不同子目录:f2fs 最优,其余相差不大。多客户使用体验:xfs 最优,ntfs 最差,reiserFS 较弱,其余皆优秀。

通过此 benchmark,可以发现各个文件系统具有特性,且各有优缺点

btrfs 仍处于开发阶段,其 COW (Copy On Write) 机制使其对数据库的插入操作表现较差。xfs 和 ext4 的综合素质优秀,特定能力上不会过于耀眼,但是对用户来说综合体验最佳。f2fs 在多文件情境下表现出色。reiserFS 即将被 reiser4 文件系统取代,综合性能大不及其它系统。ntfs 在串行的工作模式下,其随机读写和顺序读写能力都极高;反之,其在高并发高压环境下表现不佳

注:fio 测试中缺少 zfs 相关数据,将在之后的测试中重新进行分析。

3. ZFS Ubuntu 16.04 测试

由于 zfs 相关数据在第 2 章的测试中不够完善,因此本章补充 zfs 相关的测试内容。

本章数据参考自 ZFS Ubuntu 16.04 Testing。

3.1 测试环境

各文件系统挂载选项:

注:此环境与测试 2 中基本一致,可以联合查看。

3.2 测试手段

对于文件系统的 benchmark,分为以下的测试手段:

fs-mark:创建众多的 1MB 文件以测试文件系统写入能力。blogbench:模拟一个博客网站的压力场景,测试随机读写的能力。dbench:模拟多用户读写压力的 benchmark 工具。iozone:发起众多不同类型的 I/O 请求,测试文件系统的性能。compilebench:通过内核树的编译与更新,模拟并测试硬盘快满且文件夹存放过久后的表现。、

3.3 测试结果

与 2.3 中测试样式基本一致,所使用单位为 MB/s 或其他特殊的单位:

3.4 zfs 性能分析

相较于其他常用的文件系统,zfs 在性能上并不能占得太多优势,相反地,zfs 在各方面的性能上都不及其它的文件系统

但这并不意味着 zfs 一无是处,zfs 的使用场景主要位于多硬盘体系,其最具特色的功能在于其提供文件系统级别的 raid 阵列能力,因此仍然有不少的适用场景。

4. 关于性能测试

性能测试并不代表文件系统的实际体验,在读者阅读此篇文章之前,需要明确此点。

许多文件系统并不一定专门为性能而生,它们都有自己的适用场景,每个文件系统都有其独特的设计初衷。例如:

btrfs 和 zfs 都具有 COW(Copy On Write) 机制。COW 机制使得它们在进行修改操作时具有不俗的性能,但也带来了磁盘空间的浪费,并增加了读取时的消耗。btrfs 和 zfs 都自带 raid 功能。在数据可用性有要求的情况下,相比其他的文件系统,它们能提供开箱即用的 raid 阵列能力。btrfs 对所有数据都带有 checksum 机制,确保文件完整性。xfs 具有动态 inode 分配能力,适合大文件分配。… …

因地制宜,适才取用,才是程序员之道。

5. 总结

本文笔者总结了 OpenBenchmark 上的一些数据,并整合出了文件系统的性能对比。

字不在多,好用就行。笔者刚回到 CSDN 没多久,感觉 CSDN 写作中,弥漫着浓浓的就业、应试气氛。对于我这种只想观看前沿技术和新奇报道的博主而言,不是十分友好,且预感此篇文章也将石投大海,掀不起一丝风浪。

无妨,只望有用之士取之即可,愿开源精神长存

若觉得本文有用,还望一键三连,俺必定十分感激!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。