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. 获取iPhone 联系人列表,并且根据分析得到的姓名首字母进行排序

    获取手机联系人以iOS9为分界点,大家都知道到了iOS9很多方法都更新了,好多接口都弃用,被新的接口代替.这Demo种有新旧两个接口,使用前判断当前iOS版本. 下面是Demo连接地址:Github的 ...

  2. Parse the main function arguments

    int main(int argc, char **argv) { std::string reportDir; std::string transURL; std::string visualEle ...

  3. MYSQL 中 update set from where 问题

    MySQL 和 SQLSERVER不一样,update set from 一张表的时候 应该改为 UPDATE TABLE_AA INNER JOIN TABLE_BB ON TABLE_AA.ID ...

  4. css之页面两列布局

    两列布局:左边固定,后边自适应 第一种方法:左边的div左浮动或者是绝对定位,右边的div加margin-left:左边div的宽度 html部分 <div class="left&q ...

  5. XidianOJ 1149 卡尔的技能 II

    --正文 多重集合数 + 组合数取模 首先求出没有限制的选择方法C(n+m-1,m) 然后减掉至少有一个元素选择了k+1次的方法数,加上至少有两个元素选择了k+1次的方法数...以此类推 然后是组合数 ...

  6. ConCurrent in Practice小记 (2)

    Java-ConCurrent2.html :first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0 ...

  7. WAMPP安装后mysql无法启动

    上午 10:23:42 [mysql] This may be due to a blocked port, missing dependencies, 上午 10:23:42 [mysql] imp ...

  8. mssql2000 身份证号码验证

    CREATE VIEW thisDate --返回当前日期,因为自定义函数中不能使用GETDATE() AS ),) AS aDate )) /*mssql2000 返回值=0,身份证校验正确 1:位 ...

  9. C#删除datable空行

    //去除dataTable空行 public DataTable RemoveEmpty(DataTable dt) { List<DataRow> removelist = new Li ...

  10. android ListView子布局中按钮响应点击事件

    只需要在子布局的根布局中添加以下属性即可: android:descendantFocusability="blocksDescendants"