适当的网站定义对于性能至关重要。 用户在失去网站连接时可能会遇到身份验证和查询性能不佳的情况。 此外,在客户端上引入 IPv6 后,请求可能来自 IPv4 或 IPv6 地址,Active Directory 需要为 IPv6 正确定义站点。 配置两者时,操作系统优先选择 IPv6 而不是 IPv4。
从 Windows Server 2008 开始,域控制器尝试使用名称解析执行反向查找,以确定客户端应位于的站点。 这可能会导致 ATQ 线程池耗尽,并导致域控制器无响应。 适当的解决方法是正确定义 IPv6 的站点拓扑。 解决方法是,可以优化名称解析基础结构以快速响应域控制器请求。 有关详细信息,请参阅 Windows Server 2008 或 Windows Server 2008 R2 域控制器延迟对 LDAP 或 Kerberos 请求的响应。
需要考虑的另一个方面是,为使用 RODC 的方案查找读/写 DC。 某些操作需要访问可写域控制器或以可写域控制器为目标,而事实上,Read-Only 域控制器就足够了。 优化这些方案需要两种路径:
- 当只读域控制器就已足够时,请连接可写域控制器。 这需要更改应用程序代码。
- 某些情况下可能需要可写域控制器。 将读写域控制器放置在中心位置,以最大程度地减少延迟。
有关详细信息,请参阅:
优化引荐
引荐是域控制器在不托管查询分区副本时重定向 LDAP 查询的一种方式。 返回引用时,它包含分区的可分辨名称、DNS 名称和端口号。 客户端使用此信息来继续在托管分区的服务器上进行查询。 这是 DCLocator 方案,会维护所有建议站点定义和域控制器放置,但依赖于引荐的应用程序通常会被忽略。 建议确保 AD 拓扑(包括站点定义和域控制器放置)正确反映客户端的需求。 此外,这可能包括从单个站点中的多个域使用域控制器、优化 DNS 设置或重新定位应用程序的站点。
信托的优化注意事项
在林内方案中,根据以下域层次结构处理信任:孙域 -> 子域 -> 林根域 -> 子域 -> 孙域。 这意味着,由于传输信任层次结构中的 DC 的身份验证请求聚合,林根和每个父级的安全通道可能会超载。 当身份验证还需传输高延迟链接以影响上述流时,也可能在大型地理分散的 Active Directory 中产生延迟。 过载可能发生在跨森林和低层级信任场景中。 以下建议适用于所有方案:
正确调整 MaxConcurrentAPI 以支持跨安全通道的负载。 有关详细信息,请参阅 如何使用 MaxConcurrentApi 设置为 NTLM 身份验证执行性能优化。
根据负载创建适当的快捷方式信任。
确保域中的每个域控制器都可以执行名称解析并与受信任域中的域控制器通信。
确保考虑到信托的区域性因素。
尽可能启用 Kerberos,并最大程度地减少使用安全通道以降低遇到 MaxConcurrentAPI 瓶颈的风险。
跨域信任方案一直是许多客户的痛点。 名称解析和连接问题,通常是由于防火墙,导致信任域控制器的资源耗尽,并影响所有客户端。 此外,经常被忽视的情境是优化对受信任域控制器的访问。 确保其正常运作的关键领域如下:
确保受信任的域控制器使用的 DNS 和 WINS 名称解析可以解析受信任域的域控制器的准确列表。
静态添加的记录倾向于随着时间推移而过时并重新引入连接问题。 从长远来看,DNS 转发、动态 DNS 和合并 WINS/DNS 基础结构更易于维护。
确保针对客户端可能需要访问的环境中的每个资源的正向和反向查找区域正确配置转发器、条件转发和辅助副本。 同样,这需要手动维护,并倾向于过时。 整合基础结构是理想的。
信任域中的域控制器将先尝试查找受信任域中位于同一站点的域控制器,然后故障回复到泛型定位符。
若要详细了解 DCLocator 的工作原理,请参阅在最近的站点中查找域控制器。
在受信任域和信任域之间聚合站点名称,以反映同一位置的域控制器。 确保子网和 IP 地址映射正确链接到这两个林中的站点。 有关详细信息,请参阅跨林信任的域定位符。
根据 DCLocator 需求,确保为域控制器位置打开端口。 如果域之间存在防火墙,请确保为所有信任正确配置防火墙。 如果防火墙未打开,则信任域控制器仍会尝试访问受信任的域。 如果通信因任何原因而失败,信任域控制器最终会对受信任的域控制器的请求进行超时处理。 但是,如果传入请求量较高,则这些超时可能需要几秒钟的时间,并且可能会耗尽受信任域控制器上的网络端口。 客户端可能会将域控制器上的超时等待当做挂起的线程;如果应用程序在前台线程中运行请求,这些挂起的线程可能会转换为挂起的应用程序。 有关详细信息,请参阅 如何为域和信任配置防火墙。
使用 DnsAvoidRegisterRecords 使性能不佳或高延迟的域控制器(例如卫星站点中的域控制器)不播发到泛型定位符。 有关详细信息,请参阅 如何优化驻留在客户端站点外部的域控制器或全局目录的位置。
注释
客户端可以使用的域控制器数量有大约 50 个实际限制。 这些域控制器应该是站点最佳且容量最高的域控制器。
请考虑将受信任域和信任域中的域控制器置于同一物理位置。
对于所有信任方案,凭据会根据身份验证请求中指定的域进行路由。 这也适用于对 LookupAccountName 和 LsaLookupNames(这些只是常用的,还有其他项)API 的查询。 当这些 API 的域参数传递为 NULL 值时,域控制器将尝试查找每个受信任域中指定的帐户名称。
指定 NULL 域时,禁用检查所有可用信任。 如何使用 LsaLookupRestrictIsolatedNameLevel 注册表项限制在外部受信任域中查找独立名称的操作
禁止跨所有可用信任传递指定了 NULL 域的身份验证请求。 如果 Active Directory 域控制器上存在许多外部信任,Lsass.exe 进程可能会停止响应