9

我需要在使用 NTFS 的 Web 服务器上存储大约 600,000 张图像。我最好将图像存储在子文件夹中的 20,000 个图像块中吗?(Windows 服务器 2008)

我担心在图像检索期间会产生操作系统开销

4

3 回答 3

7

去吧。只要您有一个外部索引并且有每个文件的直接文件路径而不列出目录的内容,那么您就可以了。

我有一个超过 500 GB 的文件夹,其中包含超过 400 万个文件夹(其中包含更多文件夹和文件)。我总共有大约 1000 万个文件。

如果我不小心在 Windows 资源管理器中打开了这个文件夹,它会卡在 100% cpu 使用率(对于一个核心),直到我终止进程。但是只要您直接引用文件/文件夹,性能就很好(这意味着我可以访问这 1000 万个文件中的任何一个而无需开销)

于 2010-04-12T21:45:26.120 回答
4

根据NTFS是否有目录索引,从应用层面应该是没问题的。

我的意思是,以编程方式按名称打开文件、删除、重命名等应该可以很好地工作。

但问题始终是工具。第三方工具(例如 MS 资源管理器、您的备份工具等)可能会很糟糕,或者至少在每个目录中有大量文件时非常不可用。

任何进行目录扫描的东西都可能非常慢,但更糟糕的是,其中一些工具的算法很差,甚至无法扩展到每个目录的适度(10k+)个文件数量。

于 2010-04-12T21:57:35.750 回答
1

NTFS 文件夹存储一个索引文件,其中包含指向其所有内容的链接。使用大量图像,该文件将大量增加并对您的性能产​​生负面影响。所以,是的,仅凭这个论点,您最好将块存储在子文件夹中。索引中的片段很痛苦。

于 2010-04-12T21:27:54.080 回答