四大Linux文件系统在2.6.34内核下的基准测试

原创
系统 Linux
EXT3,EXT4,BTRFS和XFS是现在最常见的四个Linux文件系统。根据Phoronix网站以往的评测经验,在不同版本的Linux内核上,不同的Linux文件系统会呈现不同的测试结果。那么在Linux 2.6.34下,哪个文件系统的成绩最为突出?

【51CTO精选译文】业内知名评测网站Phoronix近日在Linux 2.6.34内核上针对一系列Linux文件系统进行了基准测试。现在大多数使用中的Linux文件系统正在以EXT4逐步取代EXT3,不过BTRFS也常常与EXT4相提并论。此外,由SGI开发并引进到Linux中的XFS高级日志文件系统也以良好的伸缩性和健壮程度广受欢迎。下面是评测的详细情况:

我们对以前的Linux文件系统测试结果进行观察后发现,在不同版本的Linux内核上的测试结果存在差异,有时甚至出现了很大的波动,因此我们打算在最新的Linux内核上,针对更多的Linux文件系统做一次全面的测试。

本次测试使用的内核是2.6.34-RC4 Git快照版本,参与测试的文件系统包括EXT3,EXT4,Btrfs和XFS,使用的测试工具包括Phoronix Test Suite中的Compile Bench,FS-Mark,Dbench, IOzone,PostMark,PostgreSQL,SQLite,Unpack-Linux和Threaded I/O Tester。

测试所用的机器配置:

处理器:AMD四核上海 Opteron 2384

主频:2.70GHz

主板:泰安S2927 n3600B

硬盘:64GB OCZ Agility EX SSD

显卡:ATI Radeon HD 4870

操作系统:Ubuntu 10.04 Beta(64位)

软件环境:2.6.34内核,X.Org Server 1.7.6,xf86-video-radeon 6.13.0,GCC 4.4.3

每个文件系统都使用的是它们的默认挂载选项。

编译基准测试Compile Bench

Compile Bench测试结果
图 1 Compile Bench测试结果

在Compile Bench测试结果中,Btrfs胜出,它比第二名EXT3快出23%,EXT3比EXT4又快出22%,排在最后的是XFS,它的速度只有10.83MB/s,与Btrfs的64.47MB/s相比,悬殊非常大。

#p#

文件系统性能测试FS-Mark

FS-Mark测试1000个1MB大小的文件
图 2 FS-Mark测试1000个1MB大小的文件

在FS-Mark测试1000个1MB大小的文件时,EXT3在OCZ Agility EX SSD硬盘上意外胜出,EXT4明显落后于EXT3,事实上EXT4是所有文件系统中最慢的,这一轮Btrfs排在了第二名。

FS-Mark禁用Sync/FSync测试1000个1MB大小的文件
图 3 FS-Mark禁用Sync/FSync测试1000个1MB大小的文件

同样是测试1000个1MB大小的文件,但这次禁用了sync,测试结果让人难以置信,Btrfs以绝对优势胜出,它的成绩相当于EXT3和EXT4的4.5倍,EXT3仍然快于EXT4,但优势不是很明显,这一次XFS再次排在末尾,倒数第二名的EXT4也比它快2.5倍。

FS-Mark 4个线程测试5000个1MB大小的文件
图 4 FS-Mark 4个线程测试5000个1MB大小的文件

这一次我们将文件数量增大到5000个,开启了4个线程,Btrfs再次胜出,但这次EXT4上升到了第二名,不过Btrfs比它仍然要快出24%,排在最后的仍然是XFS。

FS-Mark测试4000个1MB大小的文件,32个子目录
图 5 FS-Mark测试4000个1MB大小的文件,32个子目录

我们最后的FS-Mark测试中,将4000个1MB大小的文件放入32个子目录,这次EXT3胜出,而EXT4则垫底,XFS这次则一反颓势,上升到了第二,一向表现优秀的Btrfs这次只落得个第三的名次。

#p#

文档服务器性能测试Dbench

Dbench测试结果
图 6 Dbench测试结果

接下来我们执行了Dbench测试,客户端数量从1,6,12,48到128个,当只有1个客户端时,XFS的速度是最快的,但客户端达到128个时,XFS变成最慢的了,而Btrfs则完全相反,一开始是最慢的,客户端数量越多越快,到128个客户端时,Btrfs仅仅次于EXT4,排在第二位,排在第一位的EXT4也是刚开始客户端数量少时速度慢,客户端升至6个时,就超过了其它文件系统,到48个客户端时,达到峰值,虽然到128个客户端性能有所下降,但仍然保持着第一的位置。

读写性能测试IOzone

IOzone写入测试结果
图 7 IOzone写入测试结果

在IOzone测试中,我们先从8GB写入测试开始,我们使用了4Kb,64Kb和1MB记录大小的测试结果加以对比,当记录大小为4Kb时,XFS最快,在64Kb时,XFS接近EXT4的速度,但到了1MB时,EXT4就全面超越了XFS,在这一轮测试中一直垫底的是Btrfs。

IOzone读取测试结果
图 8 IOzone读取测试结果

接下来我们执行了IOzone读取测试,这次EXT4胜出,排在其后分别是XFS,Btrfs,EXT3,在磁盘读取速度方面EXT4比Btrfs快将近20%。

#p#

文件创建和删除测试PostMark

PostMark测试结果
图 9 PostMark测试结果

执行PostMark测试的结果表明,EXT4仍然是最快的,每秒处理2881个事务请求,Btrfs的成绩是2467,紧随其后的XFS,排名垫底的则是EXT3,仅仅只有954。

并发数据库会话性能测试

PostgreSQL pgbench测试结果
图 10 PostgreSQL pgbench测试结果

在PostgreSQL测试中,EXT4再次胜出,XFS和EXT3都表现不错,唯独Btrfs太让人失望,每秒只能处理69个事务请求,与排名第一的EXT4 881个事务请求形成了巨大的差距。

SQLite测试结果
图 11 SQLite测试结果

在SQLite测试中,Btrfs再次垫底(注意测试结果越小越好),在上一个数据库测试中,表现不错的EXT3超过了EXT4,速度几乎相差3倍,而XFS和EXT4则基本相当。

解压性能测试

Unpacking测试结果
图 12 Unpacking测试结果

接下来的测试是解压linux-2.6.32.tar.bz2源代码包,EXT4的解压时间最短,紧随其后的是Btrfs和EXT3,XFS再次垫底。

线程IO测试

Threaded I/O Tester测试结果
图 13 Threaded I/O Tester测试结果

我们最后一个测试是Threaded I/O Tester,我们开启了16个线程执行随机写入测试,每线程写入64MB数据,在这一轮测试中,Btrfs再次以绝对优势夺得桂冠,几乎是排名第二的EXT4的速度的10倍。

结论

在这些测试中,EXT4的表现最为突出,但Btrfs在诸如Compile Bench,FS-Mark等测试中表现也不赖,虽然EXT3风头不再,但在某些测试中仍然表现得非常优秀。在选择文件系统时,速度不应该是决策的唯一因素。

原文:File-System Benchmarks With The Linux 2.6.34 Kernel  作者:Michael Larabel

【编辑推荐】

  1. 下一代Linux文件系统将如何发展?
  2. 新一代 Linux 文件系统 btrfs 简介
  3. Linux 文件系统精通指南
责任编辑:yangsai 来源: 51CTO.com
相关推荐

2020-02-07 18:32:36

LinuxLinux内核5.6操作系统

2017-03-30 10:13:11

Linux内核文件系统

2021-01-28 11:37:51

虚拟文件

2013-10-14 09:38:24

公共云云性能基准测试云服务

2011-01-06 14:03:18

2009-12-02 15:06:49

Linux系统

2020-05-25 09:09:01

Linux件系统导航

2020-08-28 07:49:19

Linux文件系统

2020-05-22 13:40:09

Linux文件系统

2020-11-04 16:00:22

文件系统

2010-05-19 15:23:51

Linux 2.6.3Ceph分布式文件系统

2023-07-05 10:43:45

IT风险能力

2023-05-04 09:09:32

IT技术人工智能

2009-12-14 13:33:31

linuxramdisk文件系统

2010-03-22 19:14:41

2012-07-05 09:52:06

EFS文件加密

2011-01-13 14:10:30

Linux文件系统

2009-07-02 18:16:05

Linux

2009-11-06 10:05:18

Linux系统环境GFS

2009-07-07 09:19:58

Linux
点赞
收藏

51CTO技术栈公众号