应该在 ext4 或 btrfs 中对目录使用内容可寻址路径吗?



我通过比较从具有 500,000 个文件的目录和仅包含 100 个文件的目录中读取文件的速度来测试这一点。 结果:两者都同样快。

测试详情: 我创建了一个for x in {1..500000}; do touch $x; done包含 500,000 个文件的目录,运行time cat test-dir/some-file并将其与另一个只有 100 个文件的目录进行比较。 它们都执行得同样快,但也许在重负载下存在差异,或者 ext4 和 btrfs 足够聪明,我们不再需要内容可寻址路径了?

使用内容可寻址路径,我可以将 500,000 个文件分发到多个子目录中,如下所示:/www/images/persons/a/1/john.png/www/images/persons/a/2/henrick.png ..../www/images/persons/b/c/frederick.png ...

这 500,000 个文件通过 nginx 提供给 UA,所以我想避免延迟,但也许这与 ext4 或 btrfs 不再相关?

在另一个地方讨论这个问题,答案似乎是,对于读取操作,你不需要实现内容可寻址存储,因为在现在的文件系统中没有对查找表的迭代。文件系统获取直接查找文件的位置。

使用 ext4 时,您只有 # 个索引节点作为限制。

相关内容

  • 没有找到相关文章

最新更新