0

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

测试细节:我创建了一个包含 500,000 个文件的目录for x in {1..500000}; do touch $x; done,运行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 不再相关?

4

1 回答 1

0

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

使用 ext4,您只有 # of inode 作为限制。

于 2017-07-03T19:31:34.117 回答