Windows登录性能因素

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

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

定义范围

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

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

工具和数据收集

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

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

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

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

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

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

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

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

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

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

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

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

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

解决服务器Active Directory环境里Windows登录性能问题办法的更多相关文章

  1. 记一次虚拟化环境下Windows IO性能的解析

    前言随着云计算技术与服务的发展和进步,越来越多的客户选择将业务部署到云端.但由于引入了虚拟化层,在业务部署过程中经常会遇到IO问题,通常也不易调试.本文主要介绍利用perf.systemtap等工具, ...

  2. 在eclipse里配置Android ndk环境 适用于windows mac 和linux(转)

    在eclipse里配置Android ndk环境 适用于windows mac 和linux(转) 2012-02-27 13:02:16|  分类: android |  标签:java  prog ...

  3. How to setup Active Directory (AD) In Windows Server 2016

    Windows Server 2016 is the newest server operating system released by Microsoft in October 12th, 201 ...

  4. Delphi访问活动目录(使用COM,活动目录Active Directory是用于Windows Server的目录服务)

    活动目录Active Directory是用于Windows Server的目录服务,它存储着网络上各种对象的有关信息,并使该信息易于管理员和用户查找及使用.Active Directory使用结构化 ...

  5. 实验环境里新创建成功的web application却在浏览器中返回404错误

    刚刚翻笔记翻到一些刚学SharePoint时候解决的一些很2的初级问题,本来是有些挣扎该不该把它们记录到这个blog里的?因为担心这些很初级的文章会拉低这个blog的逼格,但是我的哥们善意的提醒了我一 ...

  6. SQLSERVER误删除了Windows登录用户验证方式使用Windows身份验证的解决方法

    SQLSERVER误删Windows登录用户验证方式使用Windows身份验证的解决方法 今天看到这篇文章:没有了SA密码,无法Windows集成身份登录,DBA怎么办? 想起来之前着急哥问我的一个问 ...

  7. 解决服务器复制中SID冲突问题

    解决服务器复制中SID冲突问题 如果你有多部的主机需要安装,最快的方法是什么?想必就是用像GHOST之类的软件来进行硬盘的复制.当然,如果是安装在虚拟机之中,则需要复制虚拟的硬盘档案即可,以微软的VP ...

  8. Android SDK +Eclipse+ADT+CDT+NDK 开发环境在windows 7下的搭建

    Android SDK+Eclipse+ADT+CDT+NDK 开发环境在windows 7下的搭建 这几天一直在研究 Android SDK  C/C++平台的搭建,尽管以前有成功在Windows ...

  9. Sublime Test 3 搭建C++11编译环境(Windows)

    0. 我的环境: Windows 8.1,Sublime Test 3 - Build 3126,CodeBlocks 16.01. 1. 下载Sublime Test 3,以及安装Package和各 ...

随机推荐

  1. 通过浏览器https能够访问SVN,但eclipse SVN,tortoiseSVN始终连接不上SVN的问题解决方案

    为了便于本地代码维护,特意在本地搭建了一个visualSVN服务器用于本地代码管理,但是最近突然出现问题,eclipse上的SVN资源库始终连接不上,提示 "svn: connection ...

  2. MySQL索引原理及慢查询优化(转)

    add by zhj:这是美团点评技术团队的一篇文章,讲的挺不错的. 原文:http://tech.meituan.com/mysql-index.html MySQL凭借着出色的性能.低廉的成本.丰 ...

  3. Python-any函数和all函数

    any函数: any(x),只要x中有一个不为空,0,false就返回True,否则返回False all(x)函数 必须x中的所有元素均不为空,0,false才会返回True,否则返回False & ...

  4. caffe源码阅读(一)convert_imageset.cpp注释

    PS:本系列为本人初步学习caffe所记,由于理解尚浅,其中多有不足之处和错误之处,有待改正. 一.实现方法 首先,将文件名与它对应的标签用 std::pair 存储起来,其中first存储文件名,s ...

  5. Waitforsingleobject 函数的用法

    用户模式的线程同步机制效率高,如果需要考虑线程同步问题,应该首先考虑用户模式的线程同步方法. 但是,用户模式的线程同步有限制,对于多个进程之间的线程同步,用户模式的线程同步方法无能为力.这时,只能考虑 ...

  6. Office 365 系列五 -------- Imap邮箱迁移步骤

    当客户购买了我们的Office 365之后,第一个功能必然是会用我们的企业邮箱,如果企业之前是用 263.腾讯.网易等的邮件厂商的话,必然会涉及到邮件的迁移, 其实说到邮箱迁移,我们办法很多,如果人数 ...

  7. nodejs require

    The rules of where require finds the files can be a little complex, but a simple rule of thumb is th ...

  8. centos7 安装jdk7

    源码包准备: 首先到官网下载jdk,http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.htm ...

  9. Win32 OpenGL标准例子

    在VS2008的MSDN中有一个标准的OpenGL例子,记录如下: /* * Example of a Win32 OpenGL program. * The OpenGL code is the s ...

  10. Redis基础(转)

    ServiceStack.Redis实践    Redis的C#客户端我选择的是ServiceStack.Redis,相比Booksleeve redis-sharp等方案,它提供了一整套从 Redi ...