Home > Workload Solutions > SQL Server > Guides > Reference Architecture Guide—Ready Solutions for Microsoft SQL: Design for Dell EMC XtremIO > Infrastructure configuration
The PowerEdge R840 servers are designed to maximize compute density for enterprise applications and X2 databases with a small 2U, 4-socket rack configuration. For this reference architecture testing, we used two identical PowerEdge R840 servers with one dedicated to virtualized RHEL and the other dedicated to virtualized Windows Server 2016.
The following table provides the infrastructure configuration details for the physical server and VMs in both the Windows and RHEL environments. It also includes workload execution details for the SQL Server instances.
Table 7. Environment setup details
Category |
Specification |
Configuration |
Physical server |
Number of physical servers |
1 |
Number of processors per server |
4 |
|
Number of physical cores per server |
72 |
|
Number of vCPUs per server |
144 |
|
Memory per server |
1.5 TB |
|
Number of VMs per server |
8 |
|
VM |
Number of vCPUs per VM |
16 |
Memory per VM |
128 GB |
|
Operating system LUNs per VM |
1 x 1 TB |
|
PRD DB data file per VM |
2 x 900 GB |
|
PRD DB log file per VM |
1 x 500 GB |
|
tempdb data and log file LUN per VM |
1 x 400 GB |
|
Backup LUN per VM |
1 x 2 TB |
|
SQL Server |
Number of SQL Server instances per VM |
1 |
Number of vCPUs per SQL Server instance |
16 |
|
Memory per SQL Server instance |
12 GB |
|
Database size per SQL Server instance |
1,024 GB |
|
Number of concurrent users per SQL Server instance |
100 |
We configured both PowerEdge servers with four Intel Xeon Gold processors with each CPU having 18 cores for a total of 72 cores. We enabled Intel Hyper-Threading on the R840 servers, doubling the number of cores from 72 to 144 cores. When Hyper-Threading is enabled, the common term that is used for processors is logical cores because each core can process more than one instruction per clock cycle.
VMware recommends that the allocation of vCPUs not exceed physical CPUs for production workloads. In this validation testing, the goal was to show how the design can accelerate databases under a highly consolidated workload. Therefore, we reserved 16 vCPUs for each VM; thus, with eight VMs per server, the total number of reserved vCPUs was 128. In our testing, we did exceed VMware’s recommended number of physical CPUs, but the number of logical cores remained under the recommended number.
For memory sizing, the goal was to push I/O to the XtremIO X2 all-flash storage array and evaluate array performance. Because over-commitment of VM memory can cause memory contention, VMware recommends configuring VM memory so that it does not exceed the available physical memory on the server. Another best practice is to use memory reservations that account for SQL maximum server memory plus thread stack, plus VM overhead. Thus, we configured each VM in the reference architecture tests with a memory reservation of 128 GB. With eight VMs on each server, the total memory reservations used 1 TB of a total of 1.5 TB of server memory.