热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

ext2, ext3, xfs, reiserfs 文件系统性能测试

来源: 作者: 时间:2008-08-12 Tag: 点击:


一步就采用了bonnie++性能测试程序(www.coker.com.au/bonnie++)进行测试,这个程序对一个文件进行数据库类型的访问,
进行了创建、读和删除小文件,这些操作对于Squid、INN或者Maildir格式的邮件服务器程序(qmail)是最常见的操作。性能测试命令为:
bonnie++ -d/work1 -s10 -r4 -u0
其对加载在/work1目录下的文件系统进行了10Mb(-s10)的测试。因此在执行测试之前必须创建适当类型的文件系统并加载到目录/work1下。其他的参数指定内存大小(-r4)的M数,和以root身份运行测试程序,测试结果如下:
Sequential OutputSequential InputRandom
Seeks
Size:Chunk SizePer CharBlockRewritePer CharBlock
K/sec% CPUK/sec% CPUK/sec% CPUK/sec% CPUK/sec% CPU/ sec% CPUext210M1471971481367130914150694488915309.810
ext310M136698236138182422148294493514317.810
xfs10M120694951277135133129998477980229.111
reiserfs10M145599425331234026147793559326174.35
Sequential CreateRandom Create
Num FilesCreateReadDeleteCreateReadDelete
/ sec% CPU/ sec% CPU/ sec% CPU/ sec% CPU/ sec% CPU/ sec% CPUext2169499278994929795992841009341ext3168998274100458969399288999745xfs16929925196436989199311999041reiserfs161307100896310019149912459993161001725100

种测试都有两组数据:文件系统速度(K/sec)和CPU占用率(%CPU)。速度越高,文件系统越好。而对于CPU率来说,数字越小性能越好。可以看到
Reiserfs文件系统在文件操作方面(Sequential Create和Random Create部分的)
的性能最好,超出其他文件系统10倍之多。在其他方面(Sequential Output和Sequential
Input)则和其他文件系统性能不相上下。对于其他文件系统则没有特别明显的区别。XFS性能接近ext2文件系统,ext3文件系统则比ext2要稍
微慢上一些(因为记录日志需要一些额外的时间)。
最后使用从www.namesys.com得到的性能测试程序mongo,并对其进行了修改以对三种日志文件系统进行测试。这里在mongo.pl程序中
添加了添加了加载xfs和ext3文件系统的命令,并对其进行格式化处理,然后就开始性能测试分析。
该脚本格式划分区/dev/xxxx,加载其并在每个阶段运行指定数目的进程:创建、拷贝、符号连接处理、读、显示文件状态信息、重命名和删除文件。同
时,该程序在创建和拷贝阶段以后会计算分段数(fragmentation)。
Fragm = number_of_fragments / number_of_files
可以在结果文件中得到同样的测试比较结果:
log - 原始结果
log.tbl - 比较程序的输出结果
log_table - 表格式的结果
下面的命令进行测试:
mongo.pl ext3 /dev/hda3 /work1 logext3 1
如果要测试其他文件系统,就需要把上面命令的参数中的ext3修改为reiserfs或xfs。其他参数分别为要加载的分区,加载路径,保存测试结果的文件名及启动的进程数。
下面的表格是测试结果。数据单位为秒。值越低性能越好。第一个表格测试使用的数据块大小为100字节,第二个表格为1000字节,最后一个为10000字节
ext3
files=68952
size=100 bytes
dirs=242XFS
files=68952
size=100 bytes
dirs=241reiserFS
files=68952
size=100 bytes
dirs=241Create90.07267.8653.05Fragm.1.321.021.00Copy239.02744.51126.97Fragm.1.321.031.80Slinks0203.54105.71Read782.751543.93562.53Stats108.65262.25225.32Rename67.26205.1870.72Delete23.80389.7985.51
ext3
files=11248
size=1000 bytes
dirs=44XFS
files=11616
size=1000 bytes
dirs=43ReiserFS
files=11616
size=1000 bytes
dirs=43Create30.6857.9436.38Fragm.1.381.011.03Copy75.21149.4984.02Fragm.1.381.011.43Slinks16.6829.5919.29Read225.74348.99409.45Stats25.6046.4189.23Rename16.1133.5720.69Delete6.0464.9018.21
ext3
files=2274
size=10000 bytes
dirs=32XFS
files=2292
size=10000 bytes
dirs=31reiserFS
files=2292
size=10000 bytes
dirs=31Create27.1325.9922.27Fragm.1.441.021.05Copy55.2755.7343.24Fragm.1.441.021.12Slinks1.332.511.43Read40.5150.2056.34Stats2.341.993.52Rename0.991.101.25Delete3.408.991.84
从上面的表格可以看到ext3在状态删除和重命名方面要性能更好一些,而ReiserFS文件系统在文件创建和拷贝性能表现更出色。同时也可以看到reiserFS正如其技术文档提到的其在小文件处理方面性能相当出色。
结论
目前Linux至少有两个健壮可靠的日志文件系统可供选择(XFS和reiserFS),其都得到了广泛的应用。例如Mandrake8.1就默认支持reiserFS文件系统。
从性能测试的结果可以看到,reiserFS是最好的选择。

上一篇:给mss增加ext3空间
下一篇:zfs snapshot


相关文章:
Linux - 增加 Swap 方法
UFS - Unix File System
Linux下如何备份分区表
Ext2文件系统转换为Ext3的方法
Linux Filesystems
proc文件系统
linux 文件系统
/boot不要单独分区!
解析linux根文件系统的挂载过程
理解和认识udev
proc文件系统探索 之 以数字命令的目录[三]
如何自动装配文件系统autofs
linux文件系统基础知识
Linux下增加swap space
autofs服务动态自动挂载各种文件系统
挂载LVM分区
/dev/null 找不到设备的问题
Linux 文件系统(filesystem)资源索引
zfs snapshot
ext2, ext3, xfs, reiserfs 文件系统性能测试
给mss增加ext3空间
Linux为什么最多能分4个四个主分区的解释
制作jffs2 根文件系统
Linux文件系统 一分钱一分货
linux加密分区的创建和使用
onlineJFS无法使用问题(HP_UX)
Linux磁盘存储区管理原理与技巧
udev学习
以NAS价位获取FC文件系统性能
Linux下以模块方式安装卸载文件系统