存储文件时,我应该在文件系统上的每个文件夹中存储多少个文件?

Naf*_*Kay 3 filesystems

我正在构建一个服务,我需要在文件系统上存储大量文件。过去我听说处理大量文件时最好按文件夹分隔文件。这对于 ext3、ext4 和 btrfs 等现代 Linux 文件系统来说真的准确吗?如果是这样,我应该分割多少文件?我应该将 1000 个文件保存在一个文件夹中吗?

我目前的设置将它们分为数百、数千、数万和数十万,如下所示:

stream id: 123456
1/2/3/4/123456.file

stream id: 654321
6/5/4/3/654321.file

stream id: 5
0/0/0/0/5.file
Run Code Online (Sandbox Code Playgroud)

这对我的申请有意义吗?

小智 5

您还应该考虑您正在创建的文件夹数量。

在相关问题中,出于性能原因,一般规则似乎是每个目录最多 20k 个文件:
一个 ext3 目录中的最大文件数同时仍能获得可接受的性能?