我需要在ext4系统上保留数百万个文件。
我明白,拥有多个子目录的结构是普遍接受的解决scheme。 我想知道在dirs / subdirs的数量方面最好的方法是什么。
例如,我尝试了一个像16/16/16/16这样的结构(也就是从1到16的(子)目录),我发现我能够以2m50s将100K文件移动到这个结构中。
当试图将100K文件移动到8/8/8/8/8/8结构时,花了11分钟。 所以16/16/16/16方法似乎更好,但我想知道是否有人有一个更好的dir / subdir分布经验的经验。
1)XFS 现在是比EXT4 更好的select 。
2)即使每个目录条目1024也应该是相当好的,所以你可以适当地减less子目录的深度。
经过大量的testing,我find了一个适合我的解决scheme,我希望它也能帮助其他人:
我创build了一个255/255目录结构,然后使用虚拟磁盘(/ dev / shm)快速创build目录,然后将文件保存在其中。 然后每分钟一次,我把文件移动到硬盘。
使用这种方法减less了在255/255目录中保存100K文件的时间,从大约5分钟到大约5秒。