Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104667166
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-04-28 20:57:02

 
文章来源中国IT实验室收集整理

    ◆安装ReiserFS文件系统

    如果希望更多地从技术方面了解reiserFS文件系统,请参考NAMESYS和FAQ.

    ReiserFS文件系统从2.4.1-pre4开始就是Linux内核的正式支持的文件系统了。为了使用reiserFS文件系统那你首先需要在系统上安装文件系统支持工具(如:创建ReiserFS文件系统的mkreiserfs工具)。最新的ReiserFS文件系统版本可以以补丁的方式添加到2.2.x或者2.4.x内核中。这里我们以2.2.19为例:

    第一步,首先下在内核源码,并下在ReiserFS文件系统的2.2.19补丁 ,目前补丁最新版本是linux-2.2.19-reiserfs-3.5.34-patch.bz2.同时应该下载工具软件包:reiserfsprogs-3.x.0j.tar.gz.

    然后解压内核源码和补丁包到/usr/src中:

    tar -Ixf linux-2.2.19.tar.bz2

    bzcat linux-2.2.19-reiserfs-3.5.34-patch.bz2 | patch -p0

    编译内核支持reiserfs,安装内核。然后安装文件系统工具软件:

    cd /usr/src/linux/fs/reiserfs/utils

    make

    make install

    安装新内核并重新启动。现在就可以创建新的reiserfs文件系统,并加载:

    mkreiserfs /dev/xxxx

    mount -t reiserfs /dev/xxx /mount_dir

    ◆文件系统性能测试

    测试环境使用的计算机环境如下:Pentium III - 16 Mb RAM - 2 Gb HD,操作系统为RedHat6.2.所有的文件系统都能正常工作,所以就进行benchmark分析来对它们进行性能比较。首先我直接拔掉系统电源以模拟系统掉电情况,以测试日志文件系统恢复过程。所有的文件系统都成功地经过了文件扫描检测阶段,在数秒以后系统都经过了扫描然后正常启动了系统。

    下一步就采用了bonnie++性能测试程序(++)进行测试,这个程序对一个文件进行数据库类型的访问,进行了创建、读和删除小文件,这些操作对于Squid、INN或者Maildir格式的邮件服务器程序(qmail)是最常见的操作。性能测试命令为:

    bonnie++ -d/work1 -s10 -r4 -u0

    其对加载在/work1目录下的文件系统进行了10Mb(-s10)的测试。因此在执行测试之前必须创建适当类型的文件系统并加载到目录/work1下。其他的参数指定内存大小(-r4)的M数,和以root身份运行测试程序,测试结果如下:

    每种测试都有两组数据:文件系统速度(K/sec)和CPU占用率(%CPU)。速度越高,文件系统越好。而对于CPU率来说,数字越小性能越好。可以看到Reiserfs文件系统在文件操作方面(Sequential Create和Random Create部分的) 的性能最好,超出其他文件系统10倍之多。在其他方面(Sequential Output和Sequential Input)则和其他文件系统性能不相上下。对于其他文件系统则没有特别明显的区别。XFS性能接近ext2文件系统,ext3文件系统则比ext2要稍微慢上一些(因为记录日志需要一些额外的时间)。

    最后使用从得到的性能测试程序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在状态删除和重命名方面要性能更好一些,而ReiserFS文件系统在文件创建和拷贝性能表现更出色。同时也可以看到reiserFS正如其技术文档提到的其在小文件处理方面性能相当出色。

    ◆结论

    目前Linux至少有两个健壮可靠的日志文件系统可供选择(XFS和reiserFS),其都得到了广泛的应用。例如Mandrake8.1就默认支持reiserFS文件系统。

    从性能测试的结果可以看到,reiserFS是最好的选择。

阅读(173) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~