ext3, ext4 和 reiserfs 文件系统性能对比
:
- 创建空文件10000个的耗时
- 创建小文件,每个小文件使用512个blocks,一共创建10000个
- 创建一个2G文件的耗时
- 复制2G文件的耗时
- 删除2G大文件的耗时
- 删除10000个小文件的耗时
测试系统RHEL5 update 3,内核2.6.18.128-el5,SATA硬盘。测试用同一个4G的分区来做。我每一类测试做了3次,取所需时间的平均数。
测试结果统计(使用time工具来计时):
| 任务文件系统 | EXT3 | EXT4 | Reiserfs |
| 建立空文件 | 0m13.109 | 0m12.977 | 0m13.046 |
| 建立小文件 | 1m55.583 | 1m15.253 | 1m0.192 |
| 建立大文件 | 0m43.58 | 0m37.942 | 0m40.288 |
| 复制大文件 | 1m30.537 | 1m22.898 | 1m28.705 |
| 删除大文件 | 0m2.218 | 0m0.246 | 0m0.371 |
| 删除小文件 | 0m54.497 | 0m0.902 | 0m0.979 |
根据这个不怎么专业的测试,我们发现EXT4独树一帜,仅仅在操作小文件的时候输给了Reiserfs,其他都超过了其他两个文件系统。不过这个也不能说明EXT4就一定最好,因为我们还没有考虑碎片问题,经过一段时间的使用再来测试,可能才能更客观。
不过我们通过这个测试,发现我们的全新EXT4还是值得期待的。测试的时候,我使用的还只是mkfs.ext4dev 开发包。相信正式版的表现应该更上一层楼。
扩展阅读
对于磁盘性能的测试工具,又Postmark和Bonnie++,前者主要测试文件系统在邮件系统或者商务系统中的性能,针对需要频繁,大量地读取小文件。而Bonnie++主要测试大文件的。
由于Reiserfs的树形写入特点,结合测试结果,我们可以得到如下的结论:
- 在小型系统,Reiserfs和ext3的性能是比较好的,但由于ext3的目录项是线型的,而Reiserfs的目录项是树型的,文件较多时,Reiserfs要更好一些。
- 对于上G的大文件储蓄要求,各个文件系统差据很小,性能瓶颈在硬盘上。
- 虽然XFS和JFS设计结构很好,但都是针对大中型系统的,在小型系统中发挥不明显。
- 全日志模式和预定,回写这两种模式相比,差据是很大的。预定和回写两者差据不大。性能和安全的兼顾,文件系统的缺省安全模式,预定模式是比较好的选择。
ReiserFS介绍:http://en.wikipedia.org/wiki/ReiserFS
Ext3介绍:http://en.wikipedia.org/wiki/Ext3
Ext4介绍:http://en.wikipedia.org/wiki/Ext4
ext3, ext4 和 reiserfs 文件系统性能对比的更多相关文章
- 关于ext3,ext4,xfs和btrfs文件系统性能对比
关于ext3,ext4,xfs和btrfs文件系统性能对比 应为原文:http://www.ilsistemista.net/index.php/linux-a-unix/6-linux-filesy ...
- ext3,ext4,xfs和btrfs文件系统性能对比
应为原文:http://www.ilsistemista.net/index.php/linux-a-unix/6-linux-filesystems-benchmarked-ext3-vs-ext4 ...
- dumpe2fs 命令的使用,转储 ext2/ext3/ext4 文件系统信息
使用man 命令可以查看 dumpe2fs 命令具体的使用的方法: NAME dumpe2fs - dump ext2/ext3/ext4 filesystem information SYNOPSI ...
- Linux文件系统性能优化 (转)
http://blog.chinaunix.net/uid-7530389-id-2050116.html 由于各种的I/O负载情形各异,Linux系统中文件系统的缺省配置一般来说都比较中庸,强调普遍 ...
- 漫谈Linux标准的文件系统(Ext2/Ext3/Ext4)
Ext 全称Linux extended file system, extfs,即Linux扩展文件系统,Ext2就代表第二代文件扩展系统,Ext3/Ext4以此类推,它们都是Ext2的升级版,只不过 ...
- linux分区之ext2,ext3,ext4,gpt
linux分区之ext2,ext3,ext4,gpt 2013-07-10 12:00:24 标签:ext3 gpt 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明 ...
- Linux下误删除后的恢复操作(ext3/ext4)
Linux是作为一个多用户.多任务的操作系统,文件一旦被删除是难以恢复的.尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些数据.在日常工程 ...
- Linux文件系统性能优化
本文绝大部分是转载自CSDN刘爱贵专栏: http://blog.csdn.net/liuben/archive/2010/04/13/5482167.aspx另外根据参考文档增补了一部分内容. 由于 ...
- [C/C++][文件操作] 对比目录并列出同名较新文件、较旧文件 0.1
主要是模仿robocopy的部分功能 (robocopy /L 参数可以列出本地目录和备份目录中的异同之处,主要是标记出:较新的.较旧的.多出的文件 ) 现在还不会写GUI,打算后面自己做目录树dif ...
随机推荐
- java Field 二三事
java在反射时候经常用到了 Field 类. 我认为代码是最好的解释,直接上代码. 首先,用到了一个bean类,源代码如下: package com.ncs; public class P ...
- Win32进程创建、进程快照、进程终止用例
进程创建: 1 #include <windows.h> #include <stdio.h> int main() { // 创建打开系统自带记事本进程 STARTUPINF ...
- Android Migrate Android Code
近期在更改程序架构的时候,用引用Library的方式实现程序的共享化过程中发现R.id.xx的文件不能够在 switch cases 中使用 看代码提示,如下信息: As of ADT 14, r ...
- 双数组Trie树(DoubleArrayTrie)Java实现
http://www.hankcs.com/program/java/%E5%8F%8C%E6%95%B0%E7%BB%84trie%E6%A0%91doublearraytriejava%E5%AE ...
- GridViewColumn.CellTemplate
<GridViewColumn Header="Sig" Width="210"> <GridViewColumn.CellTemplate& ...
- Linq-插入insert
1.简单形式 说明:new一个对象,使用InsertOnSubmit方法将其加入到对应的集合中,使用SubmitChanges()提交到数据库. NorthwindDataContext db = n ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(五)针对hadoop2.9.0启动之后发现slave上正常启动了DataNode,DataManager,但是过了几秒后发现DataNode被关闭
启动之后发现slave上正常启动了DataNode,DataManager,但是过了几秒后发现DataNode被关闭 以slave1上错误日期为例查看错误信息: /logs/hadoop-spark- ...
- js文件流下载通用方法
通常我们会用到文件流下载文件,下面给大家一个通用的文件流下载的js /* *下载文件 * options:{ * url:'', //下载地址 * isNewWinOpen:false,是否新窗口打开 ...
- VC++导出具有命名空间的函数
问题现象 原因分析 解决的方法 1 问题现象 导出具有命名空间的函数和类.源码例如以下: 头文件MiniMFC.h namespace MiniMFC { __declspec(dllexport) ...
- iOS编程(双语版) - 视图 - 基本概念
1. 什么是视图? 视图显示为手机上的一块矩形区域,管理该区域的所有屏幕显示,它是UIView或者UIView的子类. 视图既可以从xib生成,也可以用代码生成. 2. 窗口 窗口是UIWindow或 ...