ext [234]文件系统具有固定的最大索引节点数;每个文件或目录都需要一个索引节点。您可以使用来查看当前计数和限制df -i
。例如,在使用默认设置创建的15GB ext3文件系统上:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/xvda 1933312 134815 1798497 7% /
除此之外,目录没有特别限制;请记住,尽管每个文件或目录都至少需要一个文件系统块(通常为4KB),即使它是一个只有单个项目的目录。
如您所见,但是80,000个inode不太可能成为问题。而且,通过该dir_index
选项(可通过启用tune2fs
),在大型目录中的查找并不是一件大事。但是,请注意,许多管理工具(例如ls
或rm
)可能很难处理其中包含过多文件的目录。因此,建议拆分文件,以使给定目录中的项目数不超过几百到一千。一种简单的方法是对您正在使用的ID进行哈希处理,并将前几个十六进制数字用作中间目录。
例如,假设您的商品ID为12345,且哈希为'DEADBEEF02842.......'
。您可以将文件存储在下/storage/root/d/e/12345
。现在,您已将每个目录中的文件数减少了1/256。