背景
我们有一个自己开发的基于文件系统的缓存库。由于条目数量很大(例如高达100,000个),我们当前在一个安装中存在性能问题。问题是:我们将所有fs条目存储在一个“缓存目录”中。非常大的目录性能不佳。
我们正在考虑将这些条目分散到子目录中,就像git一样,例如100个子目录,每个子目录约1,000个条目。 问题 我知道较小的目录尺寸会有助于文件系统访问。但是,“分散到子目录中”是否会加快遍历所有条目的速度,例如枚举/读取所有100,000个条目?也就是说,当我们从FS存储初始化/预热缓存时,我们需要遍历所有100,000个条目(并删除旧条目),这可能需要10多分钟。
“分散数据”是否会减少此“遍历时间”?此外,此“遍历”实际上可以/会删除过期条目(例如早于N天的条目)。“分散数据”是否会改善删除时间? 其他背景 -NTFS -Windows家庭操作系统(Server 2003、2008) -Java J2EE应用程序。
我/我们将感激任何有关文件系统可扩展性问题的建议。
提前感谢。
威尔
我们正在考虑将这些条目分散到子目录中,就像git一样,例如100个子目录,每个子目录约1,000个条目。 问题 我知道较小的目录尺寸会有助于文件系统访问。但是,“分散到子目录中”是否会加快遍历所有条目的速度,例如枚举/读取所有100,000个条目?也就是说,当我们从FS存储初始化/预热缓存时,我们需要遍历所有100,000个条目(并删除旧条目),这可能需要10多分钟。
“分散数据”是否会减少此“遍历时间”?此外,此“遍历”实际上可以/会删除过期条目(例如早于N天的条目)。“分散数据”是否会改善删除时间? 其他背景 -NTFS -Windows家庭操作系统(Server 2003、2008) -Java J2EE应用程序。
我/我们将感激任何有关文件系统可扩展性问题的建议。
提前感谢。
威尔