工作日志系统搭建 每日工作汇报表详细表( 二 )
ReiserFSReiserFS是一个非常优秀的文件系统 , 其开发者非常有魄力 , 整个文件系统完全是从头设计的 。目前 , ReiserFS可轻松管理上百G的文件系统 , 这在企业级应用中非常重要 。ReiserFS 是根据面向对象的思想设计的 , 由语义层(semantic layer)和存储层(storage layer)组成 。语义层主要是对对象命名空间的管理及对象接口的定义 , 以确定对象的功能 。存储层主要是对磁盘空间的管理 。语义层与存储层是通过键(key)联系的 。语义层通过对对象名进行解析生成键 , 存储层通过键找到对象在磁盘上存储空间 , 键值是全局唯一的 。
3.1 语义层主要接口
1)文件接口 每个文件拥有一个接口ID , 此ID标识一个方法集 , 此方法集包含访问ReiserFS 文件的所有接口 。
2)属性接口 ReiserFS实现了一种新接口 , 把文件的每一种属性当做一个文件 , 属性的值就是此文件的内容 , 以实现对文件属性的目录式访问 。
3)hash接口 目录是文件名到文件的映射表 , ReiserFS是通过B+树来实现这张映射表 。由于文件名是变长的 , 而且有时文件名会很长 , 所以文件名不适合作为键值 , 故引入了Hash函数来产生键值 。
4)安全接口 安全接口处理所有的安全性检查 , 通常是由文件接口触发的 。下面以读文件为例:文件接口的read 方法在读入文件数据之前会调用安全接口的read chech 方法来来进行安全性检查,而后者又会调用属性文件的read方法把文件属性读入以便检查 。
5)项(Item)接口 项接口主要是一些对项进行平衡处理的方法 , 包括:项的拆分 , 项的评估 , 项的覆写 , 项的追加 , 项的删除 , 插入及查找 。
6)键分配(key Assignment)接口 当把一个键分配给一个项时 , 键分配接口就会被触发 。每一种项都有一个与其对应的键分配方法 。
3.2 存储层
ReiserFS是以B+树来存储数据的,其结构如图:













11:Bonnie++ 随机删除文件时的CPU利用率
图8至图11是Bonnie++对创建和删除文件的性能比较 , 文件数由50k增至400k 。从中可以看出:
1. 不管是创建文件 , 还是删除文件 , Ext3和ReiserFS的三种日志模式之间的性能差别可以忽略不计 。这主要是由于创建、删除文件都是对元数据的操作 , 而对元数据的操作三种模式之间本身就没有什么区别 。
2. 不管是创建文件 , 还是删除文件 , Ext3的性能都比较差;ReiserFS的性能是最好的 , 特别是文件数少于100k时 。这主要是由于Ext3是基于Ext2的 , 其目录项是线性组织的 , 而其他文件系统都是树形结构 。
3. 从CPU的利用率来看 , 除Ext3的利用率交给外 , 其他几种文件系统的利用率都很低 。
综上所述 , 我们可以得出以下结论:
1. 在小型系统 , 如:邮件系统或小规模的电子商务系统应用时 , ReiserFS和Ext3 的性能是比较好的 。但由于Ext3的目录项是线型的 , 而ReiserFS的目录项是树型的 , 故当目录下文件较多时 , ReiserFS的性能更优 。
2. 在对于上G的这种大文件做I/O时 , 各种文件系统间的性能差距很小 , 性能瓶颈往往在磁盘上 。
推荐阅读
- 销售内勤工作总结 万能的销售个人工作总结
- 全过控工作内容有哪些
- 胶带开十字锁方法
- 对眼睛好的方法
- 小区人脸识别门禁系统安全吗
- xp怎么升级到win7 一键升级XP系统到win7系统的方法
- 全空气系统空调机组如何选型
- 皇后工作室《黑寡妇》电影寡姐1/4全身像 售价4280元
- 安全工作心得体会发言开头怎么写
- 内账要做总账吗
