调整 CPU 设置 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

调整 CPU 设置

SQL Server 数据库的默认 CPU 设置允许进程消耗所有可用资源来完成其任务。这种配置可能会使 EnterpriseOne 进程耗尽所需的 CPU 资源,从而导致性能问题和超时。要减轻此问题,您可以调整最大并行和成本阈值设置。

调整 MAXDOP

默认情况下,最大并行(MAXDOP)设置为无限制(0)。将 MAXDOP 的值设置为 1 会禁用并行并强制查询,以单线程方式运行。0 或 1 以外的值设置单个查询可以使用的最大并行线程数 (vCPUs)。

要为 MAXDOP 设置相应的值,请考虑以下几点:

  • 如果您运行的是 SQL Server 企业版,则可以使用资源管理器来控制 CPU 分配。但是,由于 SQL Server 标准版通常更具成本效益,因此许多 EnterpriseOne 安装无法使用资源调控器。

  • 大多数 EnterpriseOne 进程都是简短的 DML 操作,不使用并行性。但是,许多第三方应用程序受益于并行,并且可能会在降低或禁用并行时出现性能下降的情况。

  • 您可以设置较小的 MAXDOP 值,以限制任何单个进程使系统饱和的能力。

我们建议您将 MAXDOP 值最多设置为实例中CPUs可用 v 数的一半。最小 MAXDOP 值为 1,设为此值将完全禁用并行。以下查询通过将 MAXDOP 设置为 1 来禁用并行,但您可以调整脚本以将其设置为任何其他 MAXDOP 值。

注意

本指南中的脚本JDE_Prist920用作 EnterpriseOne 数据库名称。要使用这些脚本,请更新数据库名称以反映您的数据库。

USE JDE_Prist920; GO EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE WITH OVERRIDE; GO EXEC sp_configure 'max degree of parallelism', 1; GO RECONFIGURE WITH OVERRIDE; GO

调整并行的成本阈值

如果您通过将 MAXDOP 设置为大于 1 的值来启用并行性,请将并行度的成本阈值设置为 50 或更高,以限制考虑进行并行处理的 EnterpriseOne 查询数量。您可以使用以下脚本来设置值。

EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE GO EXEC sp_configure 'cost threshold for parallelism', 50; GO RECONFIGURE GO