Important Update: Archer Community Scheduled Maintenance on November 23–24 - New Community Launching Soon! Learn More..
000039109
Archer recommends setting the Max Degree of Parallelism to 1 for the Archer Databases.
Max Degree of Parallelism (MAXDOP or Max DOP) is a feature in SQL Server to optimize query performance. It splits SQL query across multi core-processors running in parallel and sharing workload; subsequently, enhancing CPU utilization and significantly improving performance. MAXDOP value ranges between 0 to 32,767 from SQL Server 2016 onwards.
Standardizing MAXDOP value for an application:
To make best use of this feature, it is very important to understand the underlying factors that contribute towards SQL Server operation under any recommended infrastructure/platform. These factors are:
MAXDOP value does not necessarily mean the total number of parallel threads that are executed by SQL Engine at any point in time; instead, it applies to the number of parallel threads per SQL operator (e.g., Index Seek, Nested Loops, Compute Scalar, etc.). The total number of concurrent threads can ultimately exceed the MAXDOP value specified.
As best practice, SQL Server recommends using the number of logical processors as the MAXDOP value, hence, there is resilience in operation as each processor handles threads in parallel.
While benchmarking the value, it is equally important to assess the risk involved in introducing parallelism to any application. Splitting of queries can also have an adverse impact on the entire system. Additional workload on CPU can cause resource contention on the DISK IO subsystem. SQL Server holds lock when multiple threads concurrently access the same table, thereby resulting in higher CXPACKET waits. Due to these SQL blocks, timeouts and deadlocks appear on the server degrading the overall performance.
How to view MAXDOP via three different methods:
Type of MAXDOP configuration and its significance:
As per current Archer DB schema, there are 20 stored procedures which explicitly uses SQL Hint and enforces serial plan execution overriding any level of parallelism configured.
EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXEC sp_configure 'max degree of parallelism', '1' GO RECONFIGURE; GO