ext4中每个目录的最大文件数

Modified on: Thu, 15 Aug 2019 07:00:02 +0800

我管理一个包含文件存储的应用程序,其中存储的所有文件的文件名等于其md5总和。所有文件都存储在一个目录中。目前有数千个,但很快它们应该是服务器上的数百万个文件。当前服务器在ext4文件系统上运行Ubuntu 11.10。

有人告诉我,将多个文件放在一个目录中是不明智的,因为这会显着增加查找时间和可靠性(他有一个关于单个目录可能指向的最大文件的故事,导致一个很大的链接列表)。相反,他建议创建子目录,例如文件名的子串。但是,这会使我的应用程序中的某些内容变得更加麻烦。

这仍然是正确的,还是现代文件系统(例如ext4)有更有效的方法来处理这个并自然地扩展? 维基百科有一些关于文件系统的详细信息,但它并没有真正说明每个目录的最大文件数或查找时间。

作者:,Jeroen

最佳答案

ext3及更高版本的文件系统支持哈希B树目录索引。只要您执行的唯一操作是按名称添加,删除和访问,这就可以很好地扩展。但是,我仍然建议打破目录。否则,您为工具(updatedblsdu等)创建一个危险的诱杀陷阱,这些工具对可以执行的目录执行其他操作如果目录中有太多条目,则会爆炸。


相关问答

添加新评论