我们在Windows 2008上安装了IIS-7服务器。自定义的Web应用程序将客户端上传到NTFS分区的文件写入。 每年我们有4万到6万个文件夹,每个文件夹有2到20个文件。 尝试在资源pipe理器中打开一年的文件夹是一个问题,可能需要几分钟的时间来build立文件夹列表。 如果这对整个系统来说是一个问题,这让我徘徊?
我猜更简单的问题是,如果我们的networking应用程序直接访问文件的确切path将有数以万计的文件仍然放慢速度?
Windows(NTFS)不会永久性地缓冲$ MFT – 根据内存的不同,从磁盘读取数据可能需要相当长的一段时间(取决于内存大小),并且会阻止所有的卷访问尝试。
我一直在争取一段时间,唯一的解决办法是减less目录的大小。 在一个巨大的文件夹中使用\ 2017 \ 07 \ 2017-07-20.log,而不是(平面)例如\ 2017-07-20.log等等。 这样,没有文件夹增长的规模和 – 假设目前的文件夹访问更频繁 – 文件夹访问的地方大大改善。
如果你不能这样做,唯一的补救办法是通过剥离8.3名称来减less$ MFT的大小,而不是使用过于复杂的名称,ACL,审计…
另一个补救措施是将内存添加到机器中以改善caching。