你目前正处于脱机状态,正在等待 Internet 重新连接

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

针对 Windows XP 的支持已终止

Microsoft 已于 2014 年 4 月 8 日终止了针对 Windows XP 的支持。该更改已影响到您的软件更新和安全选项。 了解这一措施对于您的含义以及如何继续保持受保护状态。

本文的发布号曾为 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
dc
属性

文章 ID:321169 - 上次审阅时间:02/13/2004 05:50:00 - 修订版本: 4.0

  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Home Edition
  • kbfix kbenv kbprb KB321169
反馈