Configuration Manager网站大小和性能常见问题解答

适用于: Configuration Manager(current branch)

本文档介绍了有关Configuration Manager网站大小调整指南和常见性能问题的常见问题。

计算机和磁盘配置常见问题解答和示例

应如何设置站点服务器上的磁盘格式和SQL Server?

在至少两个不同的卷上分隔Configuration Manager收件箱和SQL Server文件。 通过这种分离,可以针对它们执行的不同类型的 I/O 优化群集分配大小。

对于托管站点服务器收件箱的卷,请将 NTFS 与 4K 或 8K 分配单位配合使用。 即使对于小型文件,ReFS 也会写入 64k。 Configuration Manager有许多小文件,因此 ReFS 可能会产生不必要的磁盘开销。

对于包含SQL Server数据库文件的磁盘,请使用 NTFS 或 ReFS 格式设置,分配单位为 64K。

应如何以及在哪里布局SQL Server数据库文件?

新式固态硬盘阵列 (SSD) 和 Azure 高级存储可以在单个卷上提供高 IOPS,而磁盘很少。 通常向数组添加更多驱动器以增加存储,而不是增加吞吐量。 如果使用基于物理轴的磁盘,可能需要比在单个卷上生成的 IOPS 更多。 应为 .mdf 文件分配 60% 的建议 IOPS 和磁盘空间,为 .ldf 文件分配 20%,为日志和数据临时文件分配 20%。 .ldf 和临时文件都可以驻留在单个卷上,其分配的 IOPS 为 40% (20% + 20% ) 。

SQL Server早于 2016 SQL Server 的版本,默认情况下仅创建一个临时数据文件。 应创建更多内容,以避免SQL Server锁和等待访问单个文件。 社区对要创建的最佳临时数据文件数(从 4 个到 8 个)有不同的意见。 测试发现 4 到 8 之间差别不大,因此可以创建四个 大小相等的 临时数据文件。 tempdb 数据文件的大小应高达完整数据库的 20-25%。

是否有任何其他磁盘设置建议?

可配置时,将 RAID 控制器内存设置为写入操作的 70% 分配,将读取操作的分配设置为 30%。 通常,对站点数据库使用 RAID 10 阵列配置。 对于 I/O 要求较低的小型站点,或者如果使用快速 SSD,RAID 1 也是可接受的。 对于较大的磁盘阵列,请配置备用磁盘以自动替换失败的磁盘。

示例:具有物理磁盘的物理计算机

100,000 个客户端的并置站点服务器和SQL Server的大小调整准则是站点服务器收件箱为 1200 IOPS,对于SQL Server文件为 5000 IOPS。

生成的磁盘配置可能如下所示:

驱动器1 RAID 格式 卷内容 所需的最小 IOPS 提供的大约 IOPS为 2
2x10k 1 - Windows -
6x15k 10 NTFS 8k ConfigMgr 收件箱 1700 1751
12x15k 10 64k ReFS SQL .mdf 60%*5000 = 3000 3476
8x15k 10 64k ReFS SQL .ldf,临时文件 40%*5000 = 2000 2322
  1. 不包括建议的备用磁盘。
  2. 此值来自 示例磁盘配置

我在 Windows Server 上使用 Hyper-V。 应如何为Configuration Manager VM 配置磁盘,以获得最佳性能?

如果硬件资源 (CPU 核心和直通存储) 100% 专用于虚拟机 (VM) ,Hyper-V 可提供与物理服务器类似的性能。 使用固定大小的 .vhd.vhdx 磁盘文件对 I/O 性能造成最小 1-5% 的影响。 使用动态扩展的 .vhd.vhdx 磁盘文件对Configuration Manager工作负荷的 I/O 性能影响高达 25%。 如果需要动态扩展磁盘,请通过向阵列额外添加 25% 的 IOPS 性能来补偿。

在 VM 中运行Configuration Manager站点服务器或SQL Server时,请将 Hyper-V 主机 OS 驱动器与 VM OS 和数据驱动器隔离开来。

有关优化 VM 的详细信息,请参阅 性能优化 Hyper-V 服务器

示例:基于 Hyper-V VM 的站点服务器

150,000 个客户端的并置站点服务器和SQL Server的大小调整准则是站点服务器收件箱为 1800 IOPS,对于SQL Server文件为 7400 IOPS。

生成的磁盘配置可能如下所示:

驱动器1 RAID 格式2 卷内容 所需的最小 IOPS 提供的大约 IOPS3
2x10k 1 - Hyper-V 主机 OS - -
2x10k 1 - (VM) 站点服务器 OS - -
2xSSD SAS 1 NTFS 8k (VM) ConfigMgr 收件箱 1800 7539
4xSSD SAS 10 64k ReFS (VM) 主机SQL Server (所有文件) 7400 14346
  1. 不包括建议的备用磁盘。
  2. 专用于基础卷的 VM 驱动器的固定大小直通 .vhdx
  3. 此值来自 示例磁盘配置

对于 Azure 中的Configuration Manager环境,是否有 Microsoft任何建议?

首先阅读有关 Azure 的Configuration Manager常见问题

利用基于高级存储磁盘的 Azure 基础结构即服务 (IaaS) VM 的 IOPS 可能很高。 在这些 VM 上,根据预期的磁盘空间需求配置其他磁盘,而不是为额外的 IOPS 配置磁盘。

Azure 存储本质上是冗余的,不需要多个磁盘来获得可用性。 可以在磁盘管理器或存储空间中条带化磁盘,以提供额外的空间和性能。

有关如何最大化高级存储性能并在 Azure IaaS VM 中运行 SQL Server 的详细信息和建议,请参阅:

示例:基于 Azure 的站点服务器

对于具有 50,000 个客户端的并置站点服务器和SQL Server的大小调整准则是 8 个核心、32 GB 和 1200 IOPS(对于站点服务器收件箱)和 2800 IOPS(对于SQL Server文件)。

生成的 Azure 计算机可能是具有以下磁盘配置的 DS13v2 (8 个核心、56 GB) :

驱动器 格式 Contains 所需的最小 IOPS 提供的大约 IOPS为 1
<标准> - 站点服务器 OS - -
1xP20 (512 GB) NTFS 8k ConfigMgr 收件箱 1200 2334
1xP30 (1024 GB) 64k ReFS SQL Server (所有文件2) 2800 3112
  1. 此值来自 示例磁盘配置
  2. Azure 指南 允许将 TempDB 放置在基于 SSD 的本地 D: 驱动器上,因为它不会超过可用空间,并允许额外的磁盘 I/O 分发。

示例:基于 Azure 的站点服务器 (实现即时性能提升)

Azure 磁盘吞吐量受 VM 大小的限制。 上述 Azure 示例中的配置可能会限制将来的扩展或额外的性能。 如果在初始部署 Azure VM 期间添加其他磁盘,则可以增加 Azure VM 的大小,以增加将来的处理能力,且前期投资最少。 在需求变化时提前规划以提高站点性能要简单得多,而不是以后需要执行更复杂的迁移。

更改上述 Azure 示例中的磁盘,以查看 IOPS 的变化方式。

DS13v2

驱动器1 格式 Contains 所需的最小 IOPS 提供的大约 IOPS为 2
<标准> - 站点服务器 OS - -
2xP20 (1024 GB) NTFS 8k ConfigMgr 收件箱 1200 3984
2xP30 (2048 GB) 64k ReFS SQL Server (所有文件3) 2800 3984
  1. 磁盘使用存储空间条带化。
  2. 此值来自 示例磁盘配置。 VM 大小限制性能。
  3. Azure 指南 允许将 TempDB 放置在基于 SSD 的本地 D: 驱动器上,因为它不会超过可用空间,并允许额外的磁盘 I/O 分发。

如果将来需要更高的性能,可以将 VM 大小提高到 DS14v2,这会将 CPU 和内存增加一倍。 该 VM 大小允许的额外磁盘带宽也会立即提高以前配置的磁盘上的可用磁盘 IOPS。

DS14v2

驱动器1 RAID 格式 Contains 所需的最小 IOPS 提供的大约 IOPS为 2
<标准> - 站点服务器 OS - -
2xP20 (1024 GB) NTFS 8k ConfigMgr 收件箱 1200 4639
2xP30 (2048 GB) 64k ReFS SQL Server (所有文件3) 2800 6182
  1. 磁盘使用存储空间条带化。
  2. 此值来自 示例磁盘配置。 VM 大小限制性能。
  3. Azure 指南 允许将 TempDB 放置在基于 SSD 的本地 D: 驱动器上,因为它不会超过可用空间,并允许额外的磁盘 I/O 分发。

其他与SQL Server相关的常见性能问题

最好是使用与站点服务器并置SQL Server运行,还是在远程服务器上运行?

两者都可以充分执行,前提是单个服务器的大小适当,或者两个服务器之间的网络连接已足够。

远程SQL Server需要额外的服务器的前期和运营成本,但在大多数大型客户中很常见。 此配置的优点包括:

  • 增加了站点可用性选项,例如SQL Server Always On
  • 能够运行繁重的报告,并减少对网站处理的无意听到
  • 在某些情况下,灾难恢复更简单
  • 更轻松的安全管理
  • SQL Server管理的角色分离,例如与单独的 DBA 团队

并置SQL Server需要一台服务器,对于大多数小型客户来说很常见。 此配置的优点包括:

  • 降低计算机、许可证和维护成本
  • 站点中的故障点更少
  • 更好地控制计划停机时间

应为 SQL 分配多少 RAM?

默认情况下,SQL Server使用服务器上的所有可用内存,这可能会耗尽计算机上的 OS 和其他进程。 为了避免潜在的性能问题,请务必显式分配内存以SQL Server。 在与 SQL Server 并置的站点服务器上,请确保 OS 有足够的 RAM 用于文件缓存和其他操作。 确保为 SMSExec 和其他Configuration Manager进程保留足够的 RAM。 在远程服务器上运行 SQL Server 时,可以将大部分内存分配给 SQL,但不能全部分配给 SQL。 查看 大小调整指南 以获取初始指导。

SQL Server内存分配应舍入为整 GB。 此外,当 RAM 增加到大量时,你可以让SQL Server具有更高的百分比。 例如,当有 256 GB 或更多 RAM 可用时,可以将SQL Server配置为高达 95%,因为这样仍会为 OS 保留大量内存。 监视页文件是确保操作系统和任何Configuration Manager进程有足够的内存的好方法。

这些天核心很便宜。 我应该将一堆他们添加到我的SQL Server吗?

如果物理核心数超过 16 个,SQL Server上没有足够的 RAM,则可能会遇到内存争用问题。 当每个核心至少有 3-4 GB RAM 可用于 SQL 时,Configuration Manager工作负荷的性能会更好。 向SQL Server添加核心时,请务必按比例增加 RAM。

SQL Server Always On可用性组会影响我的性能吗?

通常,当副本服务器之间有足够的网络可用时,可用性组对系统性能的影响微乎其微。 可以在繁忙的可用性组环境中快速增加数据库日志 .ldf 文件。 但是,数据库备份成功后,会自动释放日志文件空间。 为Configuration Manager数据库添加SQL Server作业以执行备份(例如,每 24 小时一次)和每六小时一次 .ldf 备份。 有关可用性组和Configuration Manager的详细信息,包括有关SQL Server备份策略的详细信息,请参阅准备使用SQL Server Always On可用性组

是否应在数据库上启用SQL Server压缩?

不建议对Configuration Manager数据库使用SQL Server压缩。 虽然在Configuration Manager数据库上启用压缩没有任何功能问题,但与对系统的潜在性能影响相比,测试结果并没有显示出多少大小节省。

是否应在数据库上启用SQL Server加密?

Configuration Manager数据库中的任何机密都已安全存储,但添加SQL Server加密可以增加另一层安全性。 在数据库上启用加密没有任何功能问题,但性能可能会降低高达 25%。 因此,请谨慎加密,尤其是在大规模环境中。 此外,请记住更新备份和恢复计划,以确保可以成功恢复加密的数据。

应运行哪个版本的SQL Server?

有关支持的 SQL 版本,请参阅支持SQL Server版本。 从性能的角度来看,所有受支持的SQL Server版本都满足所需的性能条件。 但是,SQL Server 2016 或更高版本在某些方面的表现往往优于 2014 SQL Server 2014 Configuration Manager工作负载。 此外,在 SQL Server 2012 兼容级别运行 SQL Server 2014 (110) 可提高性能。 在安装时,SQL Server 2014 上运行Configuration Manager数据库设置为兼容级别 110。 SQL Server 2016 或更高版本设置为该SQL Server版本的默认兼容级别,例如 2016 SQL Server 130。 在安装下一个主要Configuration Manager当前分支版本之前,升级SQL Server不会更新兼容性级别。

如果在 SQL Server 2016 或更高版本上看到某些 SQL 查询出现异常超时或速度缓慢(例如,在 管理员 控制台中使用 RBAC 时),请尝试将 Configuration Manager 数据库的SQL Server兼容级别更改为 110。 完全支持在 SQL Server 2014 和更新版本的 SQL Server 上运行SQL Server兼容级别 110。 有关详细信息,请参阅 SQL 查询在某些Configuration Manager数据库查询上超时或控制台速度缓慢

从 2018 年 1 月起,应避免以下SQL Server版本,因为存在各种已知的性能相关问题或其他潜在问题:

  • SQL Server 2012 SP3 CU1 到 CU5
  • SQL Server 2014 SP1 CU6 到 SP2 CU2
  • SQL Server 2016 RTM 到 CU3,SP1 CU3 到 CU5

是否应实现任何其他SQL Server索引任务?

是的,每周更新一次索引,每天更新一次统计信息,以提高SQL Server性能。 Configuration Manager和SQL Server社区提供的第三方脚本和其他信息可帮助优化这些任务。

在大型站点中,某些SQL Server表(如 CI_CurrentComplianceStatusDetails、HinvChangeLog)可能很大,具体取决于你的使用模式。 可能需要逐个减少或更改它们的维护方法。

何时应在辅助站点上使用完整SQL Server而不是SQL Server Express?

SQL Server Express对辅助站点没有任何重大性能影响,并且对于大多数客户来说都足够了。 它还易于部署和管理,是几乎所有客户在任何规模的推荐配置。

有一种情况可能需要安装完整的SQL Server。 如果环境中有大量分发点和包或源,则可能会超过 10 GB 大小限制(SQL Server Express)。 如果包数乘以分发点数超过 4,000,000 个,例如 2,000 个具有 2,000 个内容的 DPS,请考虑在辅助站点使用完整SQL Server。

是否应更改数据库上的 MaxDOP 设置?

将设置为 0 (使用所有可用的处理器,) 在大多数情况下对于整体处理性能而言是最佳选择。

许多Configuration Manager管理员遵循SQL Server中“最大并行度”配置选项的建议和指南中的指导。 在大多数新式大型硬件上,本指南建议的最大设置为 8。 但是,如果与处理器数量相比运行了许多较小的查询,则将其设置为更高的数字可能会有所帮助。 当有更多核心可用时,将自己限制在 8 个并不一定是较大站点上的最佳设置。

在核心数大于 8 的 SQL Server 上,从设置为 0 开始,仅在遇到性能问题或过度锁定时进行更改。 如果由于在 0 处遇到性能问题而需要更改 MaxDOP,请从新值开始,该值至少大于或等于该站点SQL Server大小的最小建议核心数。 如果低于此值,则几乎始终会对性能产生负面影响。 例如,100,000 个客户端站点的远程SQL Server至少需要 12 个核心。 如果SQL Server有 16 个核心,请开始测试值为 12 的 MaxDOP 设置。

其他常见的性能相关问题

应为防病毒软件排除) 站点服务器上的哪些文件夹 (或其他角色?

在任何系统上禁用防病毒保护时要小心。 在大容量和安全的环境中,我们建议禁用 主动监视 以获得最佳性能。

有关建议的防病毒排除项的详细信息,请参阅针对 Configuration Manager 2012 和 Current Branch 站点服务器、站点系统和客户端的建议防病毒排除项。

在与 Configuration Manager 一起使用时,如何使 WSUS 性能更好?

更改一些关键 IIS 设置(例如 WsusPool 队列长度和 WsusPool 专用内存限制)可以提高 WSUS 性能,即使在较小的安装上也是如此。 有关详细信息,请参阅 建议的硬件

此外,请确保已安装运行 WSUS 的操作系统的最新更新:

  • Windows Server 2012:2017 年 10 月或更高版本发布的任何非“仅限安全”累积更新。 (KB4041690)
  • Windows Server 2012 R2:任何 2017 年 8 月或更高版本发布的非“仅限安全”累积更新。 (KB4039871)
  • Window Server 2016:任何 2017 年 8 月或更高版本发布的非“仅限安全”累积更新。 (KB4039396)

应在 WSUS 服务器上运行哪种类型的维护?

我想为我的网站设置基本性能监视。 我应该看什么?

传统的服务器性能监视适用于常规Configuration Manager。 还可以利用适用于Configuration Manager、SQL Server和 Windows Server 的各种 System Center Operations Manager 管理包来监视服务器的基本运行状况。 还可以直接监视 Windows 性能监视器 (PerfMon) Configuration Manager提供的计数器。 监视各种收件箱中的积压工作,了解潜在站点性能问题或积压工作有早期警告迹象。