解决在Active Directory环境里Windows登录性能问题

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

与性能相关的问题通常是最难解决的,主要由于要考虑许多变数。在本文中,TechTarget中国的特约专家Gary Olsen介绍当用户登录到域账户时,如何诊断和解决登录性能缓慢的难题。   在解决任何性能问题时,你必须首先定义能接受的延迟范围。我见过一些环境,用户经历5到10分钟的登录时间也不抱怨,因为他们习惯了。

我也见过其他情形,就算一分钟的延迟也是不可接受的。这就是为什么先要定义可接受范围的原因,以便你知道如何解决问题。   Windows登录性能因素   当查找登录性能问题的原因时,考虑大量因素很重要。一些因素包括: 域控制器太接近用户网络连接与可用的带宽数据中心上的硬件资源(x64 vs……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

与性能相关的问题通常是最难解决的,主要由于要考虑许多变数。在本文中,TechTarget中国的特约专家Gary Olsen介绍当用户登录到域账户时,如何诊断和解决登录性能缓慢的难题。

  在解决任何性能问题时,你必须首先定义能接受的延迟范围。我见过一些环境,用户经历5到10分钟的登录时间也不抱怨,因为他们习惯了。我也见过其他情形,就算一分钟的延迟也是不可接受的。这就是为什么先要定义可接受范围的原因,以便你知道如何解决问题。

  Windows登录性能因素

  当查找登录性能问题的原因时,考虑大量因素很重要。一些因素包括:

  • 域控制器太接近用户
  • 网络连接与可用的带宽
  • 数据中心上的硬件资源(x64 vs.x86、内存等)
  • 应用于用户和计算机的组策略(GPO,会直接影响带宽)数量
  • 用户和计算机所在安全组的数量(也直接影响带宽)
  • 需要额外处理时间的GPO包含设置,如:环回处理、WMI过滤器和ACL过滤
  • 繁重的载入域控制器由以下因素造成:需要认证的应用、来自用户脚本或应用的无效LDAP查询、宿主其他应用,如Exchange、IIS、SQL Server等的数据中心
  • 客户端配置:内存、磁盘、处理器等、网络接口(10个、100或1000个)、到站点的合适子网映射和DNS配置

  定义范围

  为了定义问题的实际范围,我通常花时间询问简单的问题。这需要一些精力,因为这些问题通常由抱怨问题的用户定义。下面是需要询问的重要问题:

  • 这些问题定义为单个站点、安全组、OU、部门、客户端的类型(笔记本还是桌面)还是操作系统?
  • 问题在每天某个时刻发生吗?
  • 当你在办公室或者跨VPN连接就发生问题吗?
  • 描述症状:延迟每次发生在某个点吗?(例如发生在登录屏幕的“Network Settings”上)、在登录页面之前还是之后发生?
  • 什么时候开始发生的?

  工具和数据收集

  我使用一些基本的工具收集数据。对于性能问题,我喜欢广撒网,收集所有能收集的信息。如下面例子:

  在客户端和他们的验证数据中心运行微软产品支持报道(MPSreports)。这是个常用的工具,收集所有事件日志、MSINFO32、NetDiag、PConfig、驱动与hotfixes等的数据。Hewlett-Packard自身也有叫做HPS Reports的版本,在我看来,它比微软的工具更高级,如果运行在数据中心上,可以收集具体的Active Directory数据。它也收集与硬件相关的多余信息,甚至不是HP的硬件也可以收集。

  在客户端,使用Microsoft KB article 221833为Winlogon系统进程设置冗长的登录。这将在%Systemroot%DebugUserModeUserenv.log文件里提供精确的细节。注意,这个日志不包括数据日期,因此你必须:

  1. 从客户端删除现有的userenv.log
  2. 启动verbose登录为每KB 221833
  3. 注销、登录并保存userenv.log到新地点,以在登录期间限制数据收集

  注意,userenv.log在下面的GPO和配置文件进程很精确,并且通常你能明显看见哪里发生了登陆延迟。

  启用Net Logon登录。Netlogon日志位于%systemroot%debug,如果没有启用登录就是空的。例如,它会显示子网里的哪个客户端没有映射到站点。这会导致客户端在数据中心之外验证,需要的登录时间比预想的长。

  运行来自Sysinternals的Process Monitor。在启用启动日志上的Help部分查看细节。你能在缓慢启动期间捕获进程信息查看哪个处理器在影响性能。

  解决客户端登录缓慢的其他技巧

  你还能查看下面的一些事情,看是否由已知的问题导致登录性能。

  首先,在客户端上检查GPResult.exe和LOGONSERVER环境变量,MPSreports和HPS Reports将为已登录的用户收集GPResult,它们不收集指向验证数据中心的LOGONSERVER变量。这很重要,因为每次用户登录,都会下载GPO到客户端。SYSVOL(包含GPO)是DFS根,不服从客户端站点警告。相反,它以随机命令收集数据中心(宿主SYVOL DFS根),然后可以从列表里的第一个数据中心下载GPO。

  我遇到过这样的情况,在主服务站点的客户端将跨过缓慢的WAN连接到数据中心外,以获得GPO,导致了非常缓慢的登录时间。由于这可能在每个登录上发生,所以这个问题是间歇性的。

  为下载GPO的数据中心检查GPResult,并查看GPO是否来自数据中心外面。同样,比较LOGONSERVER变量,查看客户端是否在数据中心外验证。使用已知的缓慢或繁忙连接,登录延迟能解释为“通常”行为。

  另一个好测试是使用网络启动安全模式,查看是否发生延迟。如果没有,那么进行Net Start并列出所有启动的服务。然后以正常模式启动并运行Net Start,再次列出所有服务。这个不同就能证明是哪个服务有嫌疑,一次消除一个能帮助你识别问题。你也能尝试禁止启动时开始的应用,查看该应用是否是原因所在。

  最后一种技术是使用Netmon、Wireshark或其他网络捕获工具进行网络追踪。由于你尝试捕获登录进程,将dumb hub连接到网络线缆,然后从hub连接线缆到有问题的PC,然后连接另一个线缆到安装了Netmon或WireShark的另一个PC或笔记本。在混合模式里运行捕获工具并复制登录。这样的设置将确保捕获工具收集客户端内外的流量,并消除网络噪声。

  上面所述的是你要掌握的基础。只需要记住没有任何偷懒的情况——需要花费时间和精力找到问题。在下一篇文章里,我将介绍解决问题的一些方法。

相关推荐