Windows 7缓慢login到分支机构上的域

所以我们有一个通过10Mb光纤连接到总部的分支机构。 在Windows 7(pro,32位)域PC上login是非常缓慢的。 第一次需要7分钟。 之后,login需要2分钟,login需要3-5分钟。

我检查了一切,看到没有什么特别的:

  • DNS设置
  • Tracert到域
  • login/注销时,服务器上没有极端的负载
  • 从服务器下载文件到本地计算机不显示低速(1.2MB / s) (或者是太慢?)
  • 更新networking驱动程序
  • GPO设置如
    • 在启动和login时等待networking
    • 使用干净的GPO(不设置漫游configuration文件选项)
    • 设置最长等待时间
    • 只允许本地用户configuration文件
  • 禁用漫游configuration文件共享上的脱机文件
  • 在本地PC上禁用IPv6
  • 禁用本地PC上的防火墙
  • 禁用本地PC上的索引服务
  • 计算机确实有一个壁纸(请参阅http://support.microsoft.com/kb/977346 )

事件日志显示事件ID为6005和6006的警告:

winlogon通知用户花了284秒处理通知事件(login)

所以我做了这里提到的引导日志logging,它显示了很多NotifyChangeDirectory操作需要很长时间。

我用尽了select。 还有什么可以解决这个问题吗?

更新

我认为这个问题是与带宽有关的。 从服务器复制一个100MB的文件到客户端大约需要3分钟。 从主办公室的胜利7客户复制到分公司的客户需要1.5分钟。 所以win2003服务器最有可能出现一些性能问题。

1年后更新

我现在已经禁用这些用户的漫游configuration文件。 这给了巨大的速度提升。 这对我们很有用,因为用户有自己的工作站。

在客户端捕获networking数据包可能会有帮助。 它会显示login过程中传输的数据总量,以及sysvol / gpo操作,您可以确定客户端是否在特定的gpo上花费了不寻常的时间。

安装Microsoftnetworking监视器3.4后,将以下内容保存到cmd文件,并在系统启动时作为计划任务运行它。 这将创build一个捕获文件,您可以在login完成后分析。

cd /d "C:\Program Files\Microsoft Network Monitor 3" nmcap.exe /network * /capture /DisableConversations /file c:\temp\test.cap:100M 

以下是您可以在客户端工作站上testing的一些registry设置,以确定它们是否有帮助:

 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] "BufferPolicyReads"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer] "NoRemoteRecursiveEvents"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer] "NoRemoteChangeNotify"=dword:00000001 

更多信息:

319440 – 如果未在Windows中为策略文件授予机会locking,则会在较慢的连接上发生login延迟
http://support.microsoft.com/kb/319440

http://blogs.technet.com/b/mrsnrub/archive/2009/09/03/windows-server-2003-x86-tuning-for-performance-based-on-role.aspx

Microsoftnetworking监视器3.4开源的Windowsparsing器3.4.2654
http://nmparsers.codeplex.com/

在下载并安装Windowsparsing器之后,在networking监视器的工具>选项>parsing器configuration文件下,selectWindows,然后单击设为活动。

查看捕获时,在“帧摘要”窗口中,SMB / SMB2协议数据包将显示正在读取组策略的位置的UNCpath。 您可以通过应用诸如SMB2 && tcp.DstPort == 445 (或SMB(如果SMB2未被使用))的filter来进一步细化显示。 这应该提供一个相当简洁的GPO处理显示。

假设您没有与Active Directory站点和服务的主办公室“站点”关联的分支机构子网….

如果上述说法是正确的,那么您的问题是,您的分支机构PC与您期望它们进行身份validation的DC所在的子网不同。 您的分支机构PC将花费时间在自己的子网中查找DC,然后才能使用主办公室子网中的DC。

要解决此问题,可以将分支机构子网与包含您期望他们进行身份validation的DC的主办公室“site”相关联。

或者你可以在分支机构(在分支机构子网上)添加一个DC。 如果尚未安装,请在分支机构的AD&S中添加一个新的站点,并将分支机构子网与该站点相关联。

创build一个子网:

打开Active Directory站点和服务。 在控制台树中,右键单击“子网”,然后单击“新build子网”。 在地址中,input子网地址。 在“掩码”中,键入描述此子网中包含的地址范围的子网掩码。 在“为此子网select站点对象”下,单击与此子网(主站点)关联的站点,然后单击“确定”。

您必须位于域pipe理员组中才能执行此操作。

从sysinternals看这个博客: http : //blogs.technet.com/b/markrussinovich/archive/2012/07/02/3506849.aspx它有详细信息如何debugging慢login