配置NTFS文件系统以提高性能

前端之家收集整理的这篇文章主要介绍了配置NTFS文件系统以提高性能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们有一个应用程序计划存储大约1.1TB的 XML文件,平均大小为8.5kb.

这些代表了18个月的滚动数据,每天创建大约200,000个新文件.

每个文件只写一次,然后有3%的几率在接下来的18个月内读取少量(<10)次. 什么NTFS选项对我们开放有助于提高性能? 我们列表中的当前名单是:
> Disabling 8.3 name creation
>限制目录中的文件数量(仍有争议的数字……)

编辑

关于碎片:我们计划使用2k簇大小来提高磁盘空间使用效率.每个文件只写一次(即没有文件编辑).文件将在每天18个月后删除.

因此,我们不认为分裂将是一个重大问题.

我还要补充一下:

关闭磁盘碎片整理.
将块大小更改为16kb,以便将每个文件写入单个块.

合理的:

您想要在200,000个文件中每天写入1.7GB的数据.假设这些文件在24小时内写入,这意味着每秒大约3个文件.对于单个SATA磁盘而言,这似乎不是一个重大问题,因此我的猜测是您还有其他问题以及磁盘性能.

(即你有足够的内存吗?或者你是否将内存分页到磁盘?)

然而

> Windows NTFS文件系统默认尝试在后台文件系统进行碎片整理.在对磁盘进行碎片整理时,磁盘碎片整理会破坏性能.由于性能似乎已成为一个问题,这只会让事情变得更糟.
>在编写大文件时,使用小簇大小和IO性能之间存在平衡.文件文件分配表不会在磁盘上的同一扇区上,因此在写入文件时必须分配块将导致磁盘头必须不断移动.使用能够在每个集群中存储95%文件的集群大小将提高IO写入性能.
>正如其他人所指出的那样,使用2k的微小簇大小会随着时间的推移而导致碎片化.想象一下,在最初的18个月里,你将文件写入干净的空盘,但操作系统并不知道一旦关闭,就不会有更多的数据被添加到每个文件中,所以它已经留下一些块可用了结束每个文件,以便稍后扩展该文件.在填充磁盘之前,您会发现唯一的可用空间位于其他文件之间.不仅如此,当它为您的文件选择间隙时,操作系统不知道您是在写一个5块文件还是一个2块文件,因此无法在保存文件的位置做出好的选择.

在一天结束时,工程是关于处理相互冲突的需求,并选择成本最低的解决方案来满足这些平衡需求.我的猜测是购买更大的硬盘可能比购买速度更快的硬盘更便宜.

猜你在找的Windows相关文章