在将文件从 Windows XP 复制到 Windows 2000 域控制器时 SMB 性能下降

文章翻译 文章翻译
文章编号: 321169 - 查看本文应用于的产品
本文的发布号曾为 CHS321169
重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要备份注册表,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 Microsoft Windows 注册表说明
展开全部 | 关闭全部

本文内容

症状

将文件从基于 Windows XP 的客户机复制到基于 Windows 2000 的域控制器时,您可能会注意到复制性能下降(当使用服务器消息块 [SMB] 协议时)。这种性能下降仅出现在将文件从基于 Windows XP 的客户机复制到基于 Windows 2000 的域控制器(推送模式)时,将文件从域控制器复制到客户机(获取模式)时不会出现性能下降。

原因

如果在“SMB:C NT transact - Notify Change”数据包中出现延迟的 TCP/IP 确认(又称 TCP ACK),就可能会出现 SMB 性能下降。此问题一般是在您使用 Windows 资源管理器将文件复制到域控制器时发生的。但是,当您使用命令提示符复制文件或者当焦点位于 Windows 资源管理器中的目标文件夹(当涉及更改通知时)时,也可能发生此问题。如果某个远程目标文件夹也被“更改通知”请求所调用(从任何程序),则您一执行到该文件夹的 SMB 复制过程(从任何程序),就会发生此问题。

默认情况下,SMB 一使用安全签名,就会出现这种情况。如果配置了安全签名,SMB 必须由转发程序同步处理。转发程序必须一直等到完全处理完当前的 SMB 命令后,才继续处理下一个命令。转发程序一直等到从服务器收到 TCP/IP 确认。

解决方案

要解决此问题,请使用本节中介绍的解决方案之一。

解决办法 1:

警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。
  1. 启动注册表编辑器。
  2. 在注册表中找到并单击下面的注册表项:
    HKEY_LOCAL_MACHINE\System\CCS\Services\LanmanServer\Parameters
  3. 双击 RequireSecuritySignature 值,在数值数据框中键入 0,然后单击确定
  4. 双击 EnableSecuritySignature 值,在数值数据框中键入 0,然后单击确定
  5. 退出注册表编辑器。
默认情况下,EnableSecuritySignature 值在域控制器上设置为 1(打开),在非域控制器上设置为 0(关闭)。因此,SMB 复制性能下降仅当向域控制器复制项时才会出现。

解决办法 2:

将 TCP 延迟 ACK 计时器 (TcpDelAckTicks) 切换到一个较低的值。如果这样,服务器就会以更短的间隔更频繁地确认项。可以使用以下 Microsoft 知识库文章中描述的修补程序来指定自定义延迟 ACK 值:

311833 The TcpDelAckTicks Registry Value Has No Effects on Ack Timeouts
如果您将 TcpDelAckTicks 值设置为 0,就将计时器完全关闭了。当计时器关闭时,TCP 会恢复到 Request for Comments (RFC) 1122 前的情况;它确认每个数据包。该解决方案解决了 SMB 复制性能问题。但是,在高度延迟的网络(高饱和网段),此行为会增加来自域控制器的确认包数,而这会给网络增加额外的负担。

更多信息

若要查看性能下降与某些 SMB 帧(“SMB:C NT transact - Notify Change”)的 TCP/IP 确认之间的关系,请执行网络跟踪。如果这样,您会看到当服务器在 TCP 传输级别不确认“SMB:C NT Transact - Notify Change”帧时,转发程序不继续剩余的复制操作。只有当服务器是基于 Windows 2000 的域控制器时,TCP/IP 确认才会被推迟(大约 0.2 秒)。

在一个基于 Windows XP 的客户端或在一个基于 Microsoft Windows Server 2003 的客户端上,有一个名为
TcpAckFrequency
注册表项,该注册表项在延迟 ACK 计时器到达前控制着 TCP ACK。

有关此问题的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
321098 将文件复制到 Windows 2000 域控制器时网络性能下降
328890 New Registry Entry for Controlling the TCP Acknowledgment (ACK) Behavior in Windows XP and in Windows Server 2003

属性

文章编号: 321169 - 最后修改: 2004年2月13日 - 修订: 4.0
这篇文章中的信息适用于:
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Home Edition
关键字:?
kbfix kbenv kbprb KB321169
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com