Select the product you need help with
启用了写入缓存功能时磁盘性能下降文章编号: 332023 - 查看本文应用于的产品 本页症状如果硬盘实现写入缓存,并且计算机使用下面任一种操作系统,那么某些硬盘写入操作的性能可能会比预想的更低:
原因SP3 以前的 Windows 2000
各种版本中包含了一个会阻止某些磁盘命令发出的错误。这些命令只向启用了写入缓存功能的硬盘发出。这些命令会强制将关键数据立即写入磁盘设备,而不是将其临时保存在磁盘的后写缓存中。 有关此错误的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 281672
(http://support.microsoft.com/kb/281672/EN-US/
)
在启用“启用了写入缓存”功能后可能会丢失数据
知识库文章 281672 中描述的修补程序纠正了此错误,使得这些命令在启用写入缓存功能的情况下能够按预期方式发送到磁盘。此修补程序包括在 Windows 2000 SP3 中。类似的修补程序还包括在 Windows XP 中。 按照设计,为了保证关键数据的安全,这些命令会牺牲某些性能。它们确保了关键数据能够立即写入磁盘。只有在特定的磁盘设备启用了写入缓存功能而且它能够通过标准的机制检测到时,才会发出这些命令。当对实现了写入缓存功能的磁盘强制实行此安全行为时,在某些磁盘操作期间您会发现性能有所下降。有关更多详细信息,请参见本文“更多信息”一节。此外,在群集计算机中,硬盘信息可能无法传递到在群集资源发生故障转移时接管该资源的节点。因此,各个节点之间的硬盘写入操作性能可能出现差异。 解决方案对于运行 Windows 2000 的计算机警告:如果您实现此项修复(通过安装更新后的驱动程序,并打开“Power Protected”写入缓存选项),Windows 2000 磁盘驱动程序中内置的保护功能(确保关键数据立即写入磁盘,而不是稍后从磁盘的内置缓存中写入磁盘)将被删除。一般情况下请不要执行此项修复,除非您的计算机和任何连接的硬盘都通过硬件设计(可能包括冗余备用电池电源这样的功能)针对意外或无意间断电提供了保护。请与您的计算机和存储设备供应商联系,以确定您的硬件提供的保护级别。除非您了解并愿意接受可能带来的风险级别,并确信已通过适当的硬件电源保护降低了此风险,否则请不要执行此项修复。此外,在群集计算机中,可以通过在各个节点中设置“Power Protected”写入缓存选项,来解决对共享磁盘的硬盘写入操作的性能在各节点之间有所差异的问题。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 281672
(http://support.microsoft.com/kb/281672/EN-US/
)
在启用“启用了写入缓存”功能后可能会丢失数据
第 1 部分:安装 Windows 2000 更新Microsoft 现在推出了一种可修改产品默认行为的受支持功能,但是它只能用于修改本文中描述的行为。请只在需要此功能的系统中应用此功能。此功能可能还会接受进一步的测试。因此,如果系统在缺少此功能的情况下并不会受到严重影响,那么 Microsoft 建议您等待包含此功能的下一个 Windows 2000 Service Pack。要立即获得此功能,请与 Microsoft 产品支持服务部门联系。要获取 Microsoft 产品支持服务电话号码和支持费用信息的完整列表,请访问下面的 Microsoft 网站: http://support.microsoft.com/contactus/?ws=support 此修补程序的英文版具有下表中列出的文件属性(或更新的属性)。这些文件的日期和时间按协调世界时
(UTC) 列出。当您查看文件信息时,此时间将转换为本地时间。要了解 UTC 与本地时间之间的时差,请使用“控制面板”中的“日期和时间”工具中的“时区”选项卡。
(http://support.microsoft.com/contactus/?ws=support)
日期 时间 版本 大小 文件名 ------------------------------------------------------- 15-Jan-2003 19:42 5.0.2195.6655 34,832 Classpnp.sys 15-Jan-2003 19:43 5.0.2195.6655 30,768 Disk.sys 第 2 部分:配置“Power Protected”写入缓存选项在安装 Windows 2000 更新然后重新启动计算机以便加载更新的驱动程序后,还必须为每个启用了写入缓存并针对意外断电为其写入缓存提供了保护的磁盘打开“Power Protected” 写入缓存选项。如果“Power Protected”写入缓存选项没有打开,则此更新不会在磁盘行为或性能方面实现任何更改。要在选定的磁盘上配置“Power Protected”写入缓存选项,请使用 Dskcache.exe 工具。Dskcache.exe 是单独提供的。 有关 Dskcache.exe 工具以及如何启用“power protected”写入缓存选项的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 811392 注意:“Power Protected”写入缓存选项只有在当前磁盘存在的情况下才能启用。默认情况下,“Power Protected”写入缓存选项是禁用的。因此,对于任何可能在应用此设置之后添加的磁盘,此选项是禁用的。如果添加了其他磁盘,请为这些添加的磁盘启用“Power
Protected”写入缓存选项,以使该设置生效。
(http://support.microsoft.com/kb/811392/EN-US/
)
获取 Dskcache.exe 工具以配置“Power Protected”写入缓存选项
对于运行 Windows XP 的计算机由于 Windows 2000 和 Windows XP 之间存在的设计差异,目前尚未计划为 Windows XP 发行针对此行为的受支持的更新。状态更多信息通过使用机载缓存,许多磁盘设备提供了增强的性能。机载缓存为正在从磁盘中读取的数据提供了预读缓存,同时对正在写入磁盘的数据提供了后写缓存(又叫延迟写入或“惰”写入)。在某些情况下,将数据立即写入物理磁盘而不是存放在磁盘的机载写入缓存中以等到空闲时才写入是非常重要的。例如,这可以防止在磁盘或控制器(实现写入缓存的任何位置)突然断电时,这些数据丢失或被损坏。 通常可使用两个命令强制将缓存的数据立即写入物理磁盘:
SP3 以前的 Windows 2000 各种版本中,这些命令不能按要求正确地向磁盘发出。例如,当程序调用 FlushFileBuffers,并且在打开具有 FILE_FLAG_WRITE_THROUGH 设置的文件时未为 WRITE 命令设置 FUA 位时,就不会向磁盘发出 SYNCHRONIZE CACHE 命令。知识库文章 281672 中描述的修补程序解决了此问题,使得这些命令能够按照需要发出,从而提供了预期的保护功能以防止关键数据丢失。 注意:Microsoft SQL Server 在本地数据库数据、日志文件及备份文件上广泛使用 FILE_FLAG_WRITE_THROUGH。本地数据库数据可以包含 SCSI 驱动器和 SAN 驱动器上的数据,但不会包含 NAS 驱动器上的数据。如果在保护其写入缓存的硬件上未启用 Power Protected Storage 功能,则在大型数据库检查点进程中,SQL Server 的性能可能会受到影响。 当在“设备管理器”中为磁盘设备配置“启用了写入缓存”选项时,会出现两种情况:
下表总结了“写入缓存”和“Power Protected”选项的效果: 收起该表格
属性文章编号: 332023 - 最后修改: 2007年12月5日 - 修订: 12.1 这篇文章中的信息适用于:
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。 | 文章翻译
|


回到顶端








