f_dog 2010-1-21 18:34
Linux EXT4新文件系统性能测试[17p]
从2.6.28版本开始,Linux Kernel开始正式支持新的文件系统EXT4,在EXT3的基础上增加了大量新功能和特性,并能提供更佳的性能和可靠性。
EXT3其实只是在EXT2的基础上增加了一个日志功能,而EXT4的变化可以说是翻天覆地的,比如向[b]下兼容EXT3、最大1EB文件系统和16TB文件、无限数量子目录、Extents连续数据块概念、多块分配、延迟分配、持久预分配、快速FSCK、日志校验、无日志模式、在线碎片整理、inode增强、默认启用barrier等等[/b]。
正因为迁移方便,性能令人满意,[b]Google都已经宣布正在从EXT2转向新的EXT4[/b]。
不过在实际应用中,EXT4文件系统的性能表现却难以令人满意,甚至有随着系统内核升级而逐步下滑的趋势。其实这并不是EXT4本身的错,而是[b]开发人员为了充分保证新文件系统的数据可靠性,不断引入新的安全保护措施,从而在性能上有所牺牲[/b],毕竟鱼与熊掌不可兼得。
[align=center][url=http://news.mydrivers.com/Img/20100121/10391874.jpg][img=550,436]http://news.mydrivers.com/Img/20100121/S10391874.jpg[/img][/url][/align]
Phoronix.com近日就对采用EXT4文件系统的多个Linux Kernel进行了一次对比测试,包括[b]64位的2.6.28、2.6.29、2.6.30、2.6.31、2.6.32、2.6.33-RC4[/b],安装操作系统为Ubuntu 9.04,所以设置均保持默认。除了常规的性能对比测试,最后我们还会试验一下nobarrier挂接参数。
测试硬件平台是[b]华擎ION 330HT-BD上网机[/b],配置有Atom 330 OC 1.8GHz双核心处理器、华擎AMCP7AION-HT主板、GeForce 9400M ION集成显卡、2GB内存、希捷320GB ST9320325AS硬盘。
[align=center][url=http://news.mydrivers.com/Img/20100121/10392707.jpg][img]http://news.mydrivers.com/Img/20100121/S10392707.jpg[/img][/url][/align]
[align=center][align=left]测试结果一览:[/align][/align][align=center][url=http://news.mydrivers.com/Img/20100121/10370566.png][img]http://news.mydrivers.com/Img/20100121/S10370566.png[/img][/url][/align]
[align=center][url=http://news.mydrivers.com/Img/20100121/10370571.png][img]http://news.mydrivers.com/Img/20100121/S10370571.png[/img][/url][/align]
[align=center][url=http://news.mydrivers.com/Img/20100121/10370576.png][img]http://news.mydrivers.com/Img/20100121/S10370576.png[/img][/url][/align]
[align=center][url=http://news.mydrivers.com/Img/20100121/10370580.png][img]http://news.mydrivers.com/Img/20100121/S10370580.png[/img][/url][/align]
[align=center][url=http://news.mydrivers.com/Img/20100121/10370585.png][img]http://news.mydrivers.com/Img/20100121/S10370585.png[/img][/url][/align]
[align=center][url=http://news.mydrivers.com/Img/20100121/10372352.png][img]http://news.mydrivers.com/Img/20100121/S10372352.png[/img][/url][/align]
[align=center][url=http://news.mydrivers.com/Img/20100121/10372357.png][img]http://news.mydrivers.com/Img/20100121/S10372357.png[/img][/url][/align]
[align=center][url=http://news.mydrivers.com/Img/20100121/10372368.png][img]http://news.mydrivers.com/Img/20100121/S10372368.png[/img][/url][/align]
[align=center][url=http://news.mydrivers.com/Img/20100121/10372372.png][img]http://news.mydrivers.com/Img/20100121/S10372372.png[/img][/url][/align]
[align=center][url=http://news.mydrivers.com/Img/20100121/10372377.png][img]http://news.mydrivers.com/Img/20100121/S10372377.png[/img][/url][/align]
[align=center][url=http://news.mydrivers.com/Img/20100121/10373221.png][img=550,284]http://news.mydrivers.com/Img/20100121/S10373221.png[/img][/url][/align]
测试结果非常明了,Linux Kernel 2.6.28版本引入新的EXT4文件系统以来性能上确实接连损失了不少,最明显的就是读取性能,比如2.6.30及之前、2.6.31及之后的IOzone成绩,另外从2.6.32开始,PostgreSQL成绩甚至只有原来的五分之一左右。
个中原因正如我们多次说过的那样,大多数都是因为内核开发人员在不断改进EXT4系统的可靠性和安全性,毕竟这才是操作系统的基石所在,必须保障用户的稳定体验。相信这部分完善之后,性能会逐步好起来。
而且现在的EXT4系统性能也不是一无是处,很多地方还是有明显提升的,比如PostMark成绩从2.6.29到2.6.30就增加了一倍多,Dbench也在最新的2.6.33-RC4中有明显改进,AIO-Stress从2.6.30开始也好多了。
此外,开发人员还解释说,EXT4文件系统是默认开启barrier的,以便保证数据完整性,但也不可避免地会影响性能,因此[b]如果在执行挂接(mount)命令的时候加上“nobarrier”参数,也就是执行“mount -o barrier=0”,那么性能会有明显提升。简单的四项测试证明,确有此效果。[/b]
不过这么做存在一定的危险性,系统突然断电的情况下会导致数据丢失,因此[b]只推荐有写入缓存或者备用电池的情况下使用[/b]。
[align=center][url=http://news.mydrivers.com/Img/20100121/10364640.png][img]http://news.mydrivers.com/Img/20100121/S10364640.png[/img][/url][/align]
[align=center][url=http://news.mydrivers.com/Img/20100121/10364646.png][img]http://news.mydrivers.com/Img/20100121/S10364646.png[/img][/url][/align]
[align=center][url=http://news.mydrivers.com/Img/20100121/10364651.png][img]http://news.mydrivers.com/Img/20100121/S10364651.png[/img][/url][/align]
[align=center][url=http://news.mydrivers.com/Img/20100121/10364655.png][img]http://news.mydrivers.com/Img/20100121/S10364655.png[/img][/url][/align]
fzsex 2010-1-21 19:19
操作系统中,文件系统最差的应该属微软windows系列用的的fat了,linux的好多了
色即空 2010-1-22 10:37
这年头硬盘这么大,谁还用fat,就连闪存也快要出个什么新的文件系统格式了好象。linux就是普及度远远不够啊~以前还玩过一阵子,身边没什么人探讨,扔一边了……