調整 CPU 設定 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

調整 CPU 設定

SQL Server 資料庫上的預設 CPU 設定可允許程序耗用所有可用資源來完成其任務。此組態可能會使 EnterpriseOne 程序缺少所需的 CPU 資源,從而導致效能問題和逾時。若要緩解此問題,可以調整最大平行處理程度和成本閾值設定。

調整 MAXDOP

根據預設,最大平行處理程度 (MAXDOP) 會設定為無限制 (0)。將 MAXDOP 設定為 1 會停用平行處理,並強制查詢執行單一執行緒。0 或 1 以外的值會設定單一查詢可使用的最大平行執行緒 (vCPU) 數目。

若要為 MAXDOP 設定適當值,請考慮以下事項:

  • 如果正在執行 SQL Server 企業版,可以使用資源管理器來控制 CPU 配置。但是,由於 SQL Server 標準版通常更具成本效益,因此許多 EnterpriseOne 安裝無法使用資源管理器。

  • 大多數 EnterpriseOne 程序是較短的 DML 操作,不使用平行處理。不過,許多第三方應用程式都受益於平行處理,而且當平行處理降低或停用時,效能可能會下降。

  • 可以設定較小的 MAXDOP 值,以限制任何單一程序使系統飽和的能力。

建議您最多將 MAXDOP 值設定為執行個體中可用 vCPU 數目的一半。最小 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