Technical white paper | HP ProLiant DL980 G7 and P2000 G3 MSA Storage
Note: In other architectures with 4 LUNs per array, we only have to have 1 map per LUN. Now with 2 LUNs per array we
MUST have 2 maps per LUN to maintain performance.
SQL Server settings
The processors in the DL980 G7 server use Intel Hyper-Threading technology. This technology allows the server to see and
use more logical CPU cores than what is physically available in the system. With higher intensity workloads using a large
number of parallel queries, this leads to a condition where SQL Server can over-subscribe the amount of CPU and memory
resources given to queries during run time. For example in this DL980 G7 configuration, the server has 80 physical CPU
cores. With Hyper-Threading (HT) turned on, SQL Server will see the system having 160 logical CPU cores, and will allocate
resources accordingly. To mitigate this, we can change the maximum amount of CPU cores that SQL will use for parallel
execution plans.
MAXDOP parameter
SQL Server defaults to a maximum degree of parallelism (MAXDOP) of 0, which dictates that SQL Server will dynamically
allocate work up to the total number of CPU cores seen by the SQL Service. With HT turned on for a system with 80 physical
cores, SQL Server will see a total of 160 logical cores which can, for many workload mixes, lead to a sub-optimal allocation
of SQL threads. To address this, we can simply change the "Max Degree of Parallelism" parameter in SQL Server Advanced
properties to equal the number of physical CPU cores (80 in this case) or lower. During our testing, the best results were
achieved using a DOP setting of 30. Figure 5 below depicts the process to change the DOP parameter.
Figure 5. MAXDOP Parameter
With a fixed DOP value, SQL Server would assign worker threads to no more cores than the DOP setting specifies, for a
single query. Note that any additional cores (physical or Hyper-Threaded) above the DOP value are still available to receive
work from other queries. In general, the best Fast Track benchmark results are seen for higher core count systems (4 socket
and greater servers) with DOP fixed between 16 and 32. Hyper-Threading, if available, should be turned ON. As with all Fast
Track performance benchmarks actual results for customer data and workload may vary. Testing at various DOP settings
can reveal best results for specific situations.
In addition, memory resources in these larger systems, with higher amounts of memory, can be over-committed as well.
This can lead to excessive waits for memory grants and releases, etc. To mitigate this, a SQL Server Resource Governor (RG)
policy can be implemented. The details on implementing this policy are shown in the section below.
12