比较
标准的文件系统
请参阅Graphics与本文的幻灯片。
时序结果
邦尼++结果
| 测试 |
EXT2 |
EXT3 |
XFS |
JFS |
ReiserFS文件系统 |
| 总 |
3232.9 |
2509.9 |
2782.4 |
3064.5 |
2531.8 |
| 解开内核源码 |
2.7 |
4 |
8.1 |
10.5 |
3.1 |
| 提取GCC源 |
4 |
5.4 |
13.6 |
18.7 |
5 |
| 递归随机文件 |
22.7 |
22.5 |
22.7 |
22.1 |
25.0 |
| 配置GCC |
2.0 |
2.1 |
2.0 |
1.9 |
1.5 |
| Kernbench |
824.5 |
828.1 |
832.2 |
847.6 |
831.4 |
| GCC化妆J16引导 |
1288.3 |
1290.4 |
1307.3 |
1387.3 |
1273.9 |
| 删除内核源代码 |
0.3 |
0.7 |
6.6 |
12.1 |
1.2 |
| 邦尼++文件操作 |
403.3 |
7.9 |
145.6 |
193.4 |
18.1 |
| 删除GCC树 |
0.9 |
1.8 |
7.4 |
21.5 |
2.8 |
| tiobench螺纹I / O |
54.9 |
59.9 |
51.1 |
54.9 |
66.2 |
| 邦妮++智能I / O |
629.1 |
286.6 |
385.4 |
443.8 |
303.3 |
|
| 测试 |
EXT2 |
EXT3 |
XFS |
JFS |
ReiserFS文件系统 |
| 连续创建/秒 |
651 |
53412 |
2894 |
5562 |
29107 |
| 顺序统计/秒 |
+++++ |
+++++ |
+++++ |
+++++ |
+++++ |
| 顺序删除/秒 |
204531 |
60123 |
4602 |
2761 |
24549 |
| 随机创建/秒 |
639 |
52744 |
2643 |
1556 |
28179 |
| 随机STAT /秒 |
+++++ |
+++++ |
+++++ |
+++++ |
+++++ |
| 随机删除/秒 |
1204 |
59555 |
2109 |
1432 |
16623 |
| 块写入KB /秒 |
648084 |
275239 |
617869 |
327055 |
359405 |
| 块重写KB /秒 |
123908 |
115008 |
128171 |
128943 |
116784 |
| 块读KB /秒 |
294471 |
309794 |
246910 |
279747 |
215436 |
| 随机力求/秒 |
1007 |
991.9 |
1404 |
1060 |
989.1 |
|
新兴的文件系统
时序结果
邦尼++结果
| 测试 |
ChunkFS |
NILFS |
BTRFS |
EXT4 |
reiserf4 |
ZFS / FUSE |
ZFS / OpenSolaris的 |
|
| 连续创建/秒 |
N / A |
495 |
33454 |
48103 |
54286 |
3446 |
25833 |
| 顺序统计/秒 |
N / A |
+++++ |
+++++ |
+++++ |
+++++ |
4155 |
56906 |
| 顺序删除/秒 |
N / A |
118726 |
37457 |
52397 |
21880 |
727 |
22659 |
| 随机创建/秒 |
N / A |
495 |
34521 |
52234 |
23215 |
1195 |
17033 |
| 随机STAT /秒 |
N / A |
+++++ |
+++++ |
+++++ |
+++++ |
3250 |
52337 |
| 随机删除/秒 |
N / A |
993 |
31331 |
57264 |
21318 |
205 |
17519 |
| 块写入KB /秒 |
N / A |
102669 |
101102 |
291673 |
446526 |
27017 |
176336 |
| 块重写KB /秒 |
N / A |
60190 |
46907 |
103971 |
122194 |
11529 |
142455 |
| 块读KB /秒 |
N / A |
177609 |
121205 |
281596 |
173377 |
31963 |
777394 |
| 随机力求/秒 |
N / A |
519.6 |
257.8 |
1245 |
1249 |
273.1 |
857.1 |
|
|
| 测试 |
ChunkFS |
NILFS |
BTRFS |
EXT4 |
reiserf4 |
ZFS / FUSE |
ZFS / OpenSolaris的 |
| 总 |
N / A |
3870.5 |
3268.5 |
2527.0 |
2732.8 |
23989.0 |
N / A |
| 解开内核源码 |
47.5 |
5.5 |
6.3 |
4 |
4.5 |
76.7 |
22.7 |
| 提取GCC源 |
116.2 |
8.2 |
8 |
5.6 |
6.1 |
111.0 |
23.4 |
| 递归随机文件 |
26.2 |
22.4 |
23.0 |
22.8 |
23.0 |
113.3 |
62.2 |
| 配置GCC |
失败 |
1.9 |
2.0 |
2.1 |
1.9 |
3.1 |
4.4 |
| Kernbench |
失败 |
827.0 |
870.9 |
828.3 |
922.2 |
2202.2 |
N / A |
| GCC化妆J16引导 |
紧急 |
1293.6 |
1411.1 |
1293.3 |
1344.9 |
16966.0 |
N / A |
| 删除内核源代码 |
N / A |
0.7 |
1.6 |
0.7 |
10.2 |
19.1 |
N / A |
| 邦尼++文件操作 |
N / A |
517.6 |
12.5 |
8.5 |
16.6 |
819.0 |
24.3 |
| 删除GCC树 |
N / A |
2.7 |
3.1 |
1.8 |
11.2 |
39.7 |
N / A |
| tiobench螺纹I / O |
106.5 |
155.6 |
58.9 |
54.9 |
79.0 |
374.7 |
103.6 |
| 邦妮++智能I / O |
N / A |
1084.4 |
774.5 |
300.6 |
313.0 |
3273.0 |
276.6 |
|
现在都在一起了!
时序结果
单独测试的比较图
| 测试 |
EXT2 |
EXT3 |
XFS |
JFS |
reiserf |
ChunkFS |
NILFS |
BTRFS |
EXT4 |
reiserf4 |
ZFS / FUSE |
ZFS / OpenSolaris的 |
|
| 连续创建/秒 |
651 |
53412 |
2894 |
5562 |
29107 |
N / A |
495 |
33454 |
48103 |
54286 |
3446 |
25833 |
| 顺序统计/秒 |
+++++ |
+++++ |
+++++ |
+++++ |
+++++ |
N / A |
+++++ |
+++++ |
+++++ |
+++++ |
4155 |
56906 |
| 顺序删除/秒 |
204531 |
60123 |
4602 |
2761 |
24549 |
N / A |
118726 |
37457 |
52397 |
21880 |
727 |
22659 |
| 随机创建/秒 |
639 |
52744 |
2643 |
1556 |
28179 |
N / A |
495 |
34521 |
52234 |
23215 |
1195 |
17033 |
| 随机STAT /秒 |
+++++ |
+++++ |
+++++ |
+++++ |
+++++ |
N / A |
+++++ |
+++++ |
+++++ |
+++++ |
3250 |
52337 |
| 随机删除/秒 |
1204 |
59555 |
2109 |
1432 |
16623 |
N / A |
993 |
31331 |
57264 |
21318 |
205 |
17519 |
| 块写入KB /秒 |
648084 |
275239 |
617869 |
327055 |
359405 |
N / A |
102669 |
101102 |
291673 |
446526 |
27017 |
176336 |
| 块重写KB /秒 |
123908 |
115008 |
128171 |
128943 |
116784 |
N / A |
60190 |
46907 |
103971 |
122194 |
11529 |
142455 |
| 块读KB /秒 |
294471 |
309794 |
246910 |
279747 |
215436 |
N / A |
177609 |
121205 |
281596 |
173377 |
31963 |
777394 |
| 随机力求/秒 |
1007 |
991.9 |
1404 |
1060 |
989.1 |
N / A |
519.6 |
257.8 |
1245 |
1249 |
273.1 |
857.1 |
|
|
在左侧的标度是在秒,其中越少越好(更快)。示,没有酒吧的文件系统失败的那个测试。
图7:提取物的内核源代码(以秒计,越低越好)
图8:提取物GCC源(以秒越低越好)
图9:递归随机文件测试(秒,越低越好)
图10:配置GCC(以秒计,越低越好)
图11:kernbench试验(以秒计,越低越好)
图12:构建GCC用“自举-j16”(以秒计,越低越好)
图13:删除内核源代码(以秒计,越低越好)
图14:邦妮++基准,文件操作(以秒计,越低越好)
图15:删除GCC源(以秒越低越好)
图16:tiobench螺纹I / O测试(秒,越低越好)
图17:邦尼++智能I / O测试(秒,越低越好)
邦尼++结果
文件操作的图形每秒的所有文件系统
(图18)
带宽的曲线图用于块I / O测量的所有文件系统
(图19)
结论
革新
有一个在这里测试各种新兴的文件系统创新的范围很大。它的范围从一些新功能扩展现有的文件系统的相当保守的ext4的模型中,所有的方式,通过移植现有稳定的文件系统到一个新的平台(ZFS / FUSE)集成了当前的一些热点概念,以全新的代码库文件系统设计(BTRFS&NILFS)。
那些最让我印象深刻的文件系统是ZFS / FUSE其全面的功能集,BTRFS创建校验和支持的内核级的文件,并NILFS其创作连续检查点系统和检查点转换并从持久性快照的能力将。
稳定性
让我们面对现实,新兴的文件系统可能不是你真的想要将如何使用您的业务关键数据,甚至是你的工作的主目录,除非你很勇敢,具有良好的备份。考虑这篇文章来看看未来。
ChunkFS还有很长的路要走,从我所看到的吧。其背后的想法是好的,但它是太多对目前前沿的痛苦的一面。
虽然BTRFS没有在测试过程中崩溃,你需要牢记的是,磁盘格式是没有固定的,所以你很可能发现以后的版本将无法读取当前的文件系统,其实它(显然)引人注目的打击,如果它运行的磁盘空间了,应该让你在你的脚趾。
自2003年以来的Reiser4已经出现,所以我很吃惊有乱七八糟围绕它崩溃了我的第一次。虽然这是可能的,它可能已涉及到一些短暂的硬件问题,它似乎不太可能。
ZFS / FUSE目前有一个阴影笼罩着它关于RAIDZ阵列可能造成的损坏,但不会有这个问题足够的细节知道什么相当是在这里发生。镜像选项,但是,显然不受此影响。
最后两个文件系统,NILFS和EXT4,也仍然在积极发展,所以你应该想到各种有趣的事情可能发生在你的数据!
性能
好了,大家都知道,文件系统基准是真的擅长展现其文件系统擅长的文件系统基准测试,但不一定这对于实际使用良好。我希望在这里选择的基准范围内的某处有一个或两个指标看哪个文件系统进行实验时可能对你有所帮助。
我在这里最大的惊喜是,现有的两个稳定的文件系统,ext2和XFS,所以打得落花流水全面的块写入所有其他文件系统 - 即使Reiser4的,为此,Namesys的取得了如此巨大的索赔。
ZFS / FUSE表现不好全方位的,这并不奇怪,鉴于没有任何性能调整尚未发生在FUSE端口。ChunkFS也不会在它完全在测试中搞得太清楚。
唯一的其他突出的是ext2和NILFS是在文件的删除大量顺序格外好。
未来
我的直觉是,btrfs的是会得到相当多的关注。其计算校验和盘片上的数据将会给人们安全的一个很好的感觉,而做快照的能力是有价值的事实。在当前的版本中,用户可以不写的BTRFS文件系统的顶层目录和作者克里斯·梅森还在筹划“摩的”实用工具的新版本,允许用户安装btrfs的子卷或快照卷为正常文件系统。测试用,如果你安装你的BTRFS文件系统的/家庭和刚刚创建子卷在里面的用户来说,可能不会太糟糕。
我还认为,NILFS是一个观赏,因为它有一个很好深思熟虑的检查点/快照系统和用户界面。EXT4可能会成功ext3的内核,但事实上,一旦你安装它作为ext4的书面文件,你可以不再安装它为ext3会造成一定的痛苦。
无论发生什么,我们生活在一个有趣的时代在发展的文件系统。未来几年将是非常有趣!
<返回第2部分:新兴的Linux文件系统第2部分>
这个故事,“Linux文件系统第3部分:比较标准的文件系统”最初发表LinuxWorld-(美国)
。