我正在编写一个需要存储大量文件的应用程序,最多大约 1000 万个。
它们目前以 UUID 命名,每个大小约为 4MB,但大小始终相同。从/向这些文件读取和写入将始终是顺序的。
我正在寻求答案的 2 个主要问题:
1)哪个文件系统最适合这个。XFS 还是 ext4?2)是否有必要将文件存储在子目录下以减少单个目录中的文件数量?
对于问题 2,我注意到人们试图发现 XFS 对您可以存储在单个目录中的文件数量的限制,但没有找到超过数百万的限制。他们注意到没有性能问题。ext4下呢?
与做类似事情的人一起谷歌搜索,有些人建议将 inode 编号存储为文件的链接而不是文件名以提高性能(这是在数据库索引中。我也在使用)。但是,我没有看到通过 inode 编号打开文件的可用 API。这似乎更像是在 ext3 下提高性能的建议,我不打算顺便使用它。
ext4 和 XFS 的限制是什么?一个比另一个有什么性能优势,在我的例子中,你能看到在 XFS 上使用 ext4 的理由吗?