Ext2 v.s. Ext3 v.s. Ext4 性能比拼

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
头像
LinuxMadman
帖子: 11
注册时间: 2008-08-14 23:01
联系:

Ext2 v.s. Ext3 v.s. Ext4 性能比拼

#1

帖子 LinuxMadman » 2009-02-28 16:11

Ext2 v.s. Ext3 v.s. Ext4 性能比拼
Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4。 Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只是增加了一个日志功能而已。Ext4 可以提供更佳的性能和可靠性,还有更为丰富的功能:

1. 与 Ext3 兼容。执行若干条命令,就能从 Ext3 在线迁移到 Ext4,而无须重新格式化磁盘或重新安装系统。原有 Ext3 数据结构照样保留,Ext4 作用于新数据,当然,整个文件系统因此也就获得了 Ext4 所支持的更大容量。

2. 更大的文件系统和更大的文件。较之 Ext3 目前所支持的最大 16TB 文件系统和最大 2TB 文件,Ext4 分别支持 1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的文件系统,以及 16TB 的文件。

3. 无限数量的子目录。Ext3 目前只支持 32,000 个子目录,而 Ext4 支持无限数量的子目录。

4. Extents。Ext3 采用间接块映射,当操作大文件时,效率极其低下。比如一个 100MB 大小的文件,在 Ext3 中要建立 25,600 个数据块(每个数据块大小为 4KB)的映射表。而 Ext4 引入了现代文件系统中流行的 extents 概念,每个 extent 为一组连续的数据块,上述文件则表示为“该文件数据保存在接下来的 25,600 个数据块中”,提高了不少效率。

5. 多块分配。当写入数据到 Ext3 文件系统中时,Ext3 的数据块分配器每次只能分配一个 4KB 的块,写一个 100MB 文件就要调用 25,600 次数据块分配器,而 Ext4 的多块分配器“multiblock allocator”(mballoc) 支持一次调用分配多个数据块。

6. 延迟分配。Ext3 的数据块分配策略是尽快分配,而 Ext4 和其它现代文件操作系统的策略是尽可能地延迟分配,直到文件在 cache 中写完才开始分配数据块并写入磁盘,这样就能优化整个文件的数据块分配,与前两种特性搭配起来可以显著提升性能。

7. 快速 fsck。以前执行 fsck 第一步就会很慢,因为它要检查所有的 inode,现在 Ext4 给每个组的 inode 表中都添加了一份未使用 inode 的列表,今后 fsck Ext4 文件系统就可以跳过它们而只去检查那些在用的 inode 了。

8. 日志校验。日志是最常用的部分,也极易导致磁盘硬件故障,而从损坏的日志中恢复数据会导致更多的数据损坏。Ext4 的日志校验功能可以很方便地判断日志数据是否损坏,而且它将 Ext3 的两阶段日志机制合并成一个阶段,在增加安全性的同时提高了性能。

9. “无日志”(No Journaling)模式。日志总归有一些开销,Ext4 允许关闭日志,以便某些有特殊需求的用户可以借此提升性能。

10. 在线碎片整理。尽管延迟分配、多块分配和 extents 能有效减少文件系统碎片,但碎片还是不可避免会产生。Ext4 支持在线碎片整理,并将提供 e4defrag 工具进行个别文件或整个文件系统的碎片整理。

11. inode 相关特性。Ext4 支持更大的 inode,较之 Ext3 默认的 inode 大小 128 字节,Ext4 为了在 inode 中容纳更多的扩展属性(如纳秒时间戳或 inode 版本),默认 inode 大小为 256 字节。Ext4 还支持快速扩展属性(fast extended attributes)和 inode 保留(inodes reservation)。

12. 持久预分配(Persistent preallocation)。P2P 软件为了保证下载文件有足够的空间存放,常常会预先创建一个与所下载文件大小相同的空文件,以免未来的数小时或数天之内磁盘空间不足导致下载失败。Ext4 在文件系统层面实现了持久预分配并提供相应的 API(libc 中的 posix_fallocate()),比应用软件自己实现更有效率。

13. 默认启用 barrier。磁盘上配有内部缓存,以便重新调整批量数据的写操作顺序,优化写入性能,因此文件系统必须在日志数据写入磁盘之后才能写 commit 记录,若 commit 记录写入在先,而日志有可能损坏,那么就会影响数据完整性。Ext4 默认启用 barrier,只有当 barrier 之前的数据全部写入磁盘,才能写 barrier 之后的数据。(可通过 "mount -o barrier=0" 命令禁用该特性。)


Ext4 随 Linux kernel 2.6.28 正式发布已有数周,一直苦于找不到测试用的磁盘,正巧年前 Intel 送来几块 SSD 测试样品,这两天就顺带把 SSD 也测了。测试所使用的 Linux 内核版本为 2.6.28.2,测试工具为 IOzone 3.318。

IOzone 测试命令为:

time /opt/iozone/bin/iozone -a -s 4G -q 256 -y 4 >|/root/ext4-iozone-stdout.txt

上述命令的说明如下:

Auto Mode
File size set to 4194304 KB
Using Maximum Record Size 256 KB
Using Minimum Record Size 4 KB
Command line used: /opt/iozone/bin/iozone -a -s 4G -q 256 -y 4
Output is in Kbytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 Kbytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.

测试结果除了表明 Intel SSD 的读写速度快得令人咋舌之外,还可以说明 Ext4 的各方面性能都超过了上一代 Ext3,甚至在大多数情况下,比没有日志功能的 Ext2 还要快出不少:
附件
.jpg
头像
苹果虫
帖子: 185
注册时间: 2008-08-25 18:57

Re: Ext2 v.s. Ext3 v.s. Ext4 性能比拼

#2

帖子 苹果虫 » 2009-02-28 16:39

怎么不顺便测测reiserFS4
上次由 苹果虫 在 2009-02-28 17:21,总共编辑 1 次。
edifie
帖子: 29
注册时间: 2007-04-27 23:22

Re: Ext2 v.s. Ext3 v.s. Ext4 性能比拼

#3

帖子 edifie » 2009-02-28 17:14

Ext4 ReiserFS Btrfs 等七种文件系统性能比拼
http://hutuworm.blogspot.com/2009/02/ex ... btrfs.html
头像
qiang_liu8183
论坛版主
帖子: 10699
注册时间: 2006-09-10 22:36
系统: Arch Debian
来自: 北京

Re: Ext2 v.s. Ext3 v.s. Ext4 性能比拼

#4

帖子 qiang_liu8183 » 2009-02-28 18:31

老文了~~~
看破、放下、自在、随缘、念佛
真诚、清净、平等、正觉、慈悲
头像
yilan198711
帖子: 1635
注册时间: 2008-06-22 13:38
来自: 武汉

Re: Ext2 v.s. Ext3 v.s. Ext4 性能比拼

#5

帖子 yilan198711 » 2009-02-28 18:49

mark
mint+gnome
soarstar
帖子: 11
注册时间: 2008-10-29 17:58

Re: Ext2 v.s. Ext3 v.s. Ext4 性能比拼

#6

帖子 soarstar » 2009-03-03 17:15

执行若干条命令,就能从 Ext3 在线迁移到 Ext4,而无须重新格式化磁盘或重新安装系统。原有 Ext3 数据结构照样保留,Ext4 作用于新数据,当然,整个文件系统因此也就获得了 Ext4 所支持的更大容量。

如何进行转化呢,能不能详细说说~
:em11
头像
Jarson
帖子: 2371
注册时间: 2008-07-21 9:44
来自: 深圳
联系:

Re: Ext2 v.s. Ext3 v.s. Ext4 性能比拼

#7

帖子 Jarson » 2009-03-03 18:28

学习了,看后有升级系统的冲动 :em06
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
联系:

Re: Ext2 v.s. Ext3 v.s. Ext4 性能比拼

#8

帖子 lerosua » 2009-03-03 19:45

看后仍没有升级的冲动。 :em06
头像
friend.ethan
帖子: 687
注册时间: 2008-05-13 20:40
来自: 江南西道

Re: Ext2 v.s. Ext3 v.s. Ext4 性能比拼

#9

帖子 friend.ethan » 2009-03-03 21:04

懒得拉,重新安装那么麻烦~
头像
LFive
帖子: 265
注册时间: 2009-03-15 12:01
来自: 7556792@qq.com

Re: Ext2 v.s. Ext3 v.s. Ext4 性能比拼

#10

帖子 LFive » 2009-04-04 18:49

看完后有转换ext4的冲动。。我机器直接9.04 整个硬盘安装 也就错过了ext4 现在正想重装呢
上课一排全睡,打饭从不排队
反恐如痴如醉,传奇不知疲惫
抽烟挖坑全会,白酒俩斤不醉
逛街花钱干脆,短信发到欠费
斯文败类疯狂,商贸学院万岁
头像
hubert_star
论坛版主
帖子: 5373
注册时间: 2007-10-29 22:12
系统: OSX 10.9 + Ub 1304
来自: 江苏南京

Re: Ext2 v.s. Ext3 v.s. Ext4 性能比拼

#11

帖子 hubert_star » 2009-04-04 19:07

冲动过后是无比的郁闷
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;

特此声明!

有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。

欢迎来我的新浪微博@me
头像
RegentW
帖子: 1486
注册时间: 2007-02-27 21:47
来自: NN

Re: Ext2 v.s. Ext3 v.s. Ext4 性能比拼

#12

帖子 RegentW » 2009-04-04 21:03

冲动是魔鬼 你可别后悔 :em04
Core i5, 512G + SSD 20G, DDRIII 8G
头像
karllv
帖子: 632
注册时间: 2008-12-04 17:23

Re: Ext2 v.s. Ext3 v.s. Ext4 性能比拼

#13

帖子 karllv » 2009-04-05 16:15

ext4拷文件还是慢啊。
同样4G的文件,U拷完要1个小时,而VISTA下只要24分钟
味精
帖子: 88
注册时间: 2005-10-29 19:22

Re: Ext2 v.s. Ext3 v.s. Ext4 性能比拼

#14

帖子 味精 » 2009-04-05 16:24

没什么感觉
头像
astarring
帖子: 69
注册时间: 2008-11-02 17:10

Re: Ext2 v.s. Ext3 v.s. Ext4 性能比拼

#15

帖子 astarring » 2009-08-07 23:51

我的9.04就是用的ext4的。哈哈
HP台式机
Window7 Ubuntu 10.10双系统
回复