1.2.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 支持以下特性:
- SELinux 扩展的属性。
lsattr
() 和chattr
() 属性是通过标准ioctl
() 调用设置的。- 纳秒时间戳
GFS2 为文件系统的内在效率提供以下改进。
- GFS2 使用更少的内核内存
- GFS2 需要非元数据生成数分配 GFS2 元数据不需要读取。多日志中的元数据块副本是由从锁定释放前的日志中调用的块管理的。
- GFS2 的日志管理程序更为简单,它对未链接的内节点或者配额修改一无所知。
gfs2_grow
和gfs2_jadd
命令使用锁定来防止多个事件同时运行。- 为类似
creat
() 和mkdir
() 的调用简化了 ACL 编码打开。 - 在没有重新挂载日志的情况下恢复未连接的内节点以及配额和
statfs
的更改。