在大量文件的NTFS驱动器上performance不佳
我正在看这个设置: Windows Server 2012 1TB NTFS驱动器,4 KB群集,约90%满 存储在10,000个文件夹中的〜10M文件=〜1,000个文件/文件夹 文件大多很小<50 KB 虚拟驱动器托pipe在磁盘arrays上 当应用程序访问存储在随机文件夹中的文件时,需要60-100毫秒来读取每个文件。 使用testing工具时,似乎打开文件时发生延迟。 读取数据只需要很less的时间。 总之,这意味着读取50个文件很容易花费3-4秒,这比预期的要多得多。 写作是批量完成的,所以表演在这里不成问题。 我已经遵循SO和SF的build议来达到这些数字。 使用文件夹减less每个文件夹的文件数量( 在文件系统中存储一百万张图像 ) 运行contig来整理文件夹和文件( https://stackoverflow.com/a/291292/1059776 ) 8.3名称和上次访问时间禁用( configurationNTFS文件系统的性能 ) 如何处理阅读时间? 考虑60-100毫秒每个文件是好的(不是,是吗?) 任何想法如何设置可以改善? 是否有低级的监测工具可以说明究竟花了多less时间? UPDATE 如评论中所述,系统运行Symantec Endpoint Protection。 但是,禁用它不会改变读取时间。 PerfMon每次读取10-20毫秒。 这意味着读取任何文件需要6次I / O读操作,对吧? 这是MFT查找和ACL检查? MFT的大小约为8.5GB,比主内存大。