1.4.3. GFS2 性能改进
GFS2 文件系统的很多功能与 GFS 文件系统在界面上没有什么不同,但文件系统性能会有提高。
GFS2 文件系统在以下方面提供改进的文件系统性能:
- 在大量使用单一目录时有较好的性能。
- 更快的同步 I/O 操作
- 更快的缓存读取(无锁定消耗)
- 对预先分配的文件有更快的直接 I/O (提供合理的较大 I/O 值,比如 4M 大的块)
- 普遍更快的 I/O 操作
- 执行
df
命令的速度更快,因为statfs
调用的速度更快。 - 与 GFS 相比,改进了
atime
模式以减少atime
生成的写入 I/O 操作数量。
GFS2 文件系统在以下方面提供更广泛和主流的支持:
- GFS2 是上游内核(整合到 2.6.19)的一部分。
- GFS2 支持以下功能。
- 扩展的文件属性(
xattr
) - 通过标准
ioctl
() 调用设置lsattr
() 和chattr
() 属性 - 纳秒时间戳
GFS2 在文件系统的内在效率方面提供以下改进。
- GFS2 使用更少的内核内存。
- GFS2 需要非元数据生成数分配 GFS2 元数据不需要读取。多个日志中的元数据块副本由从锁定释放前的日志中调用的块进行管理。
- GFS2 的日志管理程序更为简单,它对未链接的内节点或者配额修改一无所知。
gfs2_grow
和gfs2_jadd
命令使用锁定防止多个事件同时运行。- 为类似
creat
() 和mkdir
() 的调用简化 ACL 编码。 - 在不重新挂载日志的情况下,恢复未链接的内节点以及配额和
statfs
的更改。