目录复杂性如何影响i-节点?

对于使用大量图像(每天±1k-3k)的单个项目,我使用自定义PHP脚本处理图像并将其保存到服务器。

目前的PHP脚本处理它们并保存在以下文件夹结构中: 在这里输入图像说明 所以max lvl是5.但是现在我想下面的目录结构如何影响inode计数? 我应该把lvl降到2或3吗?

每个目录条目也是一个inode条目。

16 ** 5 = 1,048,576

16 ** 3 = 4,096

一年的图像… 2,000 * 365 = 730,000。

那么每个目录大概有178个深度为2的深度。深度为5,刚好超过一半的利用率。 三个听起来不错 。 也许如果你在这里十年,我会去4。

每个文件和目录都占用一个inode,但是我认为你不会在耗费大量文件系统的inode上花费很大的风险 – 在5层深处,你的目录树将占用16^5或1048576个inode ,这是一个公平的数字,但不太可能压倒你的文件系统。 另一方面,您存储的文件数量可能会导致一些问题…

但是,每个级别只能使用一个hex数字是有点浪费的 – 我通常会在每个级别使用三位数字( ab3/4f5/5e1/... ),因为每个级别都有4096个目录,从体面的文件系统(不要去4,因为extN只允许32000个子目录在一个单一的目录)。

那么,当然,整个文件系统的世界没有固定的inode限制,面对每个目录的大量文件,性能会更好,并且不会限制子目录的数量。