file
我正在开发一个应用程序,它使用命令和 ext4 文件系统读取大量目录列表并检查文件类型。
当我研究 Ext4 时,我发现它有两个有趣的特性
- 目录索引
- 文件类型
我刚刚启用了这两个功能
tune2fs -O dir_index /dev/hdXY
e2fsck -fD /dev/hdXY
我的问题是:
- dir_index 在启用后是否可以透明地工作(即
ls -lR large_direcory/
无需任何额外的程序/配置即可提高性能)还是必须通过编程/脚本使其工作? - 索引是透明生成的?还是需要使用重新生成
e2fsck -fD /dev/hdXY
? - Ext3/4 文件类型功能如何工作?
- 我了解到 XFS 比 ext3 具有更好的性能和可靠性,与 ext4 相比如何,我应该切换吗?
谢谢!
答案1
回答你的第四个问题,或者至少是一些值得思考的问题:
与 ext3(可能还有 ext4)相比,XFS 的优势之一是并发性。XFS 在多处理器环境中扩展性很好,但使用 ext3 时,kjournald 不能很好地利用多核。
因此,如果多个进程同时争夺磁盘访问权,那么 XFS 是一个非常好的选择。我认为 ext4 还获得了分配组,因此它可能也会使其更适合 SMP,但在进行基准测试时要记住这一点。
答案2
IIRC dir_index 会在创建任何新文件后自动应用到该文件,但如果没有 fsck,它将无法追溯工作。我不知道这个文件类型功能。我从未听说过 XFS 比 ext3 更可靠,事实上,这是因为它没有(没有?)做......写阻止?(我忘了这个词)......由于同步时间较长,它的可靠性较低。Ext4 有同样的问题,但它已经修复了......