解决Windows客户端登录延迟的方案分析

日期: 2009-12-03 作者:Gary Olsen翻译:唐琼瑶 来源:TechTarget中国 英文

在我上一篇文章里,我描述了“解决在Active Directory环境里Windows登录性能问题”的基本方案。现在,我将进一步找到问题所在,并提出解决办法。   当然,性能通常是个挑战,一是因为每个人都有不同的性能接受范围,二是因为存在许多影响性能的变量(包括硬件与软件)。我每天的工作是解决与Active Directory相关的问题,因此本文是我经验之谈。

我将以切身经验讲述如何解决这些问题。   首先你需要做的是备好常见的影响客户端登录性能的可能因素清单。这可能发展成流程图,不过现在我们将使用几个清单,作为我们诊断问题的参考。   降低客户端登录性能的已知因素   在上一篇文章里,我大概介……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

在我上一篇文章里,我描述了“解决在Active Directory环境里Windows登录性能问题”的基本方案。现在,我将进一步找到问题所在,并提出解决办法。

  当然,性能通常是个挑战,一是因为每个人都有不同的性能接受范围,二是因为存在许多影响性能的变量(包括硬件与软件)。我每天的工作是解决与Active Directory相关的问题,因此本文是我经验之谈。我将以切身经验讲述如何解决这些问题。

  首先你需要做的是备好常见的影响客户端登录性能的可能因素清单。这可能发展成流程图,不过现在我们将使用几个清单,作为我们诊断问题的参考。

  降低客户端登录性能的已知因素

  在上一篇文章里,我大概介绍了导致在Windows里客户端登录延迟的原因。那些不是以任何具体命令列出的,都是由于某种情况造成的:

  • 域控制器不可用或者非常繁忙(LDAP流量导致数据中心不可用、数据中心也运行Exchange、 SQL Server、File或打印机等)
  • 客户端从站点外的数据中心获得组策略
  • 网络流量(启动或登录流量直接与组和GPO数量有关)
  • 漫游文件加载缓慢
  • 无效的登录脚本
  • 无效的GPO(过滤、限制)
  • 大量GPO或者组策略成员
  • 病毒
  • 网络组件(驱动、交换机、链接速度、双宿主、网络线缆等)
  • 应用和服务在启动时就在客户端上开启
  • 病毒更新,Windows Update下载
  • 有缺陷的镜像

  也许还有更多可能,不过列出这样的清单是好的开始。

  下面,我们检查一些问题以缩小范围。每个问题后面都是解决该问题的办法。你可能发现会出现几个问题,因此以逻辑顺序组织这些问题。

  一、什么时候开始的?

  由于你依赖服务台的呼叫,一些用户通常对这些问题习以为常,因此可能不是完全精确的,所以很难。采访这些用户并阻止问题的发生。然后查看更改,如软件安装、网络更改、GPO更高或者由于热修复造成的另一个问题。对这个问题的回答将影响其他你要问的问题。(例如,可能是时间迁移到64位数据中心了)

  二、谁受了影响?

  这很难回答,因为你必须再一次依赖服务台。

  • 一位用户——使用相同的硬件调查其他处于相同位置和安全组的用户。确保这个问题只影响了一位用户,着眼于本地设置、配置文件、工作站配置、组等。
  • 一个站点的所有用户——在域控制器或者子网里的网络问题上查看问题。检查域控制器性能看数据中心是否不可用,不能处理负载。在每个客户端检查LogonServer环境变量,看是否获得数据中心验证。查看“问题用户”是否都是验证到一个数据中心。
  • 跨站点的用户——这可能是网络问题的结果,安装了新补丁。查看受影响用户之间的共同点,包括这个问题什么时候开始的。
  • 在某个日期安装了新客户端——可能这些用户拥有新镜像或操作系统?
  • 终端服务用户——查看本地与远程配置文件问题和终端服务载入。

  三、这些问题在每天同个时刻发生吗?

  在一天里让用户在不同时间登录登出,如上午10点、下午2点和7点,或者在流量低的其他任何时间。如果问题消失,那么你就该在峰值登录时期观察网络流量和DC性能。

  四、你拥有跨缓慢连接网络的站点吗?

  客户认证到本地域控制器并获得来自另一个DC的策略很有可能,也很常见。也有可能从不良站点里的DC获得策略,并且将更改,因此问题是间歇性的。

  我不知道如何解决,但是听说有可能的工作区硬编码LogonServer环境变量到某个DC。如果这种工作处于测试中,那么只在有问题的客户端部署。我没有这样做,但是值得考虑。用于GPO载入的DC位于GPResult输出力。在客户端上运行GPRESULT /v。

  五、出现问题时你作了什么更改?

  最常见的回答是“没做任何事”。不过深入挖掘后会发现一些事情。

  六、受影响的用户能通过登录到另一台计算机复制问题吗?

  换句话说,问题会跟随用户吗?或者另一个没有该问题的用户登录到受影响的计算机会经历相同的问题吗?如果你能确定问题只限于计算机本身,就可以缩小范围。

  七、你(可能在同个用户上)使用漫游配置文件吗?

  检查网络共享并查找漫游配置文件问题。同样,按照第一部分文章中的步骤启用Userenv日志的verbose logging,并检查它以获取更多信息。

  八、当登出时用户存在长时间延迟吗?

由于增大的配置文件和注册表,也能导致登录延迟。对于Windows XP和更早期版本,考虑执行Microsoft User Profile Hive Cleanup Service (UPHClean)清除本地配置文件和注册表。UPHClean包含在Vista里。

  九、受影响的用户是远程访问客户端吗?

  当使用远程访问连接时,用户可能只有一个登录问题。查看远程连接软件或者VPN设置,尝试建立图形Windows连接而不是使用自定义连接软件。你的ISP和网络性能在这也能成为问题。

  进一步挖掘

  这里有一些查找延迟原因的额外技巧。你可以在我以前的三篇文章中找到更多细节。

  • 找到一个测试客户端。理论上,你可以获得一个工作站,不用打扰另一个用户而复制问题。
  • 在客户端和DC上下载并运行来自微软的MPSreports。这可以收集所有事件日志、MSINFO32、NetDiag、驱动与热修复等的数据,得到的数据越多,就越容易追踪到问题。
  • 在DC和客户端上运行PerfMon,看客户端问题域域控制器上的性能变化事件是否吻合。
  • 运行网络追踪,并在导致延迟的登录过程期间决定发生了什么。
  • 查看问题是否发生在每天的某个时间,如果是,检查在这个时间发生了什么。怀疑包括对AV和Windows更新、调度作业和客户端调查软件。
  • 检查GPO设置。已知的性能降低来自ACL和WMI过滤器,环回进程等。确定是否有任何GPO设置在问题出现的时候部署的。查看我以前的文章使用Userenv日志调试组策略和配置文件问题。
  • 如果问题跟随用户(参考上面的第六条),尝试复制用户账户创建新用户。如果那个账户没有问题,重新创建账户。某些情况下这种做法有效。这个测试也会消除配置文件。你应该尝试删除用户的配置文件,在重新创建账户之前看是否能修复问题。
  • 检查登录脚本。它们会逐渐增长,直到又笨重又无效。

  如我开始所说,解决问题没有捷径可走,会花费大量时间调试。最佳做法是检查可能的原因,询问正确的问题缩小范围,使用文中提到的工具收集并分析数据,定位原因所在。

相关推荐