ADDS 性能优化中的硬件注意事项

重要

以下是优化服务器硬件以支持Active Directory工作负荷的主要建议和注意事项的摘要,关于这方面的更详细内容可以参阅《Active Directory 域服务容量规划》文章。 强烈建议读者查看 Active Directory 域服务的容量规划 ,以获取对这些建议的更深入的技术理解和影响。

避免进入磁盘

Active Directory 在内存允许的范围内缓存尽可能多的数据库。 从内存中获取页面比访问物理介质快几个数量级,无论介质是基于主轴还是 SSD。 添加更多内存以最大程度地减少磁盘 I/O。

  • Active Directory 最佳实践建议放置足够的 RAM 以将整个 DIT 加载到内存中,并容纳作系统和其他已安装的应用程序,例如防病毒、备份软件、监控等。

  • 将作系统、日志和数据库放在不同的卷上。 如果可以缓存所有或大部分 DIT,则一旦缓存预热并处于稳定状态,这将变得不那么相关,并在存储布局方面提供更大的灵活性。 在无法缓存整个 DIT 的情况下,将作系统、日志和数据库拆分到单独的卷上的重要性变得更加重要。

  • 通常,DIT 的 I/O 比率约为 90% 读取和 10% 写入。 写入 I/O 卷显著超过 10% - 20% 的情况被视为写入密集型。 写入密集型方案不会从 Active Directory 缓存中获益匪浅。 为了保证写入目录的数据的事务持久性,Active Directory 不执行磁盘写入缓存。 相反,它会在返回作的成功完成状态之前将所有写入作提交到磁盘,除非有明确请求不执行此作。 因此,快速磁盘 I/O 对于对 Active Directory 的写入作的性能非常重要。 以下是可能提高这些方案性能的硬件建议:

    • 硬件 RAID 控制器

    • 增加托管 DIT 和日志文件的低延迟/高 RPM 磁盘的数量

    • 控制器上的写入缓存

  • 单独查看每个卷的磁盘子系统性能。 大多数 Active Directory 方案主要是基于读取的,因此托管 DIT 的卷的统计信息是最重要的检查。 但是,不要忽视对其余驱动器(包括作系统和日志文件驱动器)的监控。 要确定域控制器是否配置正确以避免存储成为性能瓶颈,请参阅有关存储子系统的部分以获取标准存储建议。 在许多环境中,其理念是确保有足够的头部空间来容纳负载的浪涌或峰值。 这些阈值是警告阈值,其中容纳负载浪涌或峰值的余量变得有限,并且客户端响应能力下降。 简而言之,超过这些阈值在短期内(每天几次,每次 5 到 15 分钟)还不错,但是使用此类统计数据持续运行的系统并没有完全缓存数据库,并且可能会负担过重,应该进行调查。

    • 数据库 ==> 实例 (lsass/NTDSA)\I/O 数据库读取 平均延迟 < 15ms

    • 数据库 ==> 实例 (lsass/NTDSA)\I/O 数据库读取数/秒 < 10

    • 数据库 ==> 实例 (lsass/NTDSA)\I/O 日志写入 平均延迟 < 10ms

    • 数据库 ==> 实例 (lsass/NTDSA)\I/O 日志写入数/秒 – 仅供参考。

      为了保持数据的一致性,必须将所有更改写入日志。 这里没有好坏数字,它只是衡量存储支持多少的指标。

  • 为非峰值负载时段规划非核心磁盘 I/O 负载,例如备份和防病毒扫描。 此外,使用支持 Windows Server 2008 中引入的低优先级 I/O 功能的备份和防病毒解决方案,以减少与 Active Directory 的 I/O 需求的竞争。

不要对加工商征税过多

没有足够空闲周期的处理器可能会导致将线程发送到处理器执行时等待时间过长。 在许多环境中,其理念是确保有足够的空间来容纳负载的激增或峰值,以最大限度地减少这些场景中对客户端响应能力的影响。 简而言之,超过以下阈值在短期内(每天几次,每次 5 到 15 分钟)还不错,但是使用此类统计数据持续运行的系统不会提供任何空间来容纳异常负载,并且很容易陷入负担过重的情况。 应调查持续超过阈值的系统,以了解如何减少处理器负载。

  • 有关如何选择处理器的更多信息,请参阅 Server Hardware 的性能优化

  • 添加硬件、优化负载、将客户端定向到其他位置或从环境中移除负载以减少 CPU 负载。

  • 使用 Processor Information(_Total)\% Processor Utilization < 60% 性能计数器。

避免网络适配器过载

与处理器一样,过多的网络适配器利用率将导致出站流量进入网络的等待时间过长。 Active Directory 往往具有较小的入站请求,并且返回到客户端系统的数据量相对较大。 发送的数据远远超过接收的数据。 在许多环境中,其理念是确保有足够的头部空间来容纳负载的浪涌或峰值。 此阈值是一个警告阈值,其中容纳负载浪涌或峰值的余量受到限制,客户端响应能力下降。 简而言之,超过这些阈值在短期内还不错(每天几次,每次 5 到 15 分钟),但是使用此类统计数据持续运行的系统负担过重,应该进行调查。

  • 有关如何优化网络子系统的更多信息,请参阅 网络子系统的性能优化

  • 将 NetworkInterface(*)\Bytes Sent/Sec 与 NetworkInterface(*)\Current Bandwidth 性能计数器进行比较。 利用率应小于 60%。

其他引用