本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
調整 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