October 23rd, 2014 by Brian Beeler
Selecting the Best Intel Xeon E5-2600 v2 CPU for SQL Server 2012
Flash storage often gets the headline when it comes to discussing database performance. However CPUs and RAM are vital components in determining how many transactions SQL Server can handle, and more importantly, how quickly it can deliver them. For those running SQL 2012 on iron (non-virtualized) as many are, architecting the system can be a delicate balance between capacity, performance and cost considerations. In this review we evaluate four Intel Xeon Ivy Bridge v2 processors and their effect on SQL TPC-C workloads in a two processor system.
The question that often comes up when considering a system build is which Intel processor makes the most sense for database workloads. Does the build need more cores or higher clock speed? There's also a cost element: do the additional steps up in CPU net a benefit for this specific workload? To answer these questions we've set out to look at multiple steppings of the Ivy Bridge v2 processor line, from 8 to 12 cores and ranging clock speed from 2.0GHz to 3.4GHz with the objective to find out which offers the best transactional latency.
For this analysis we're evaluating the Intel CPUs within a Supermicro SuperStorage Server 2027R-AR24NV running Windows Server 2012, which is 2U dual-socket box that supports the E5-2600 and E5-2600 v2 family of Intel CPUs. The system RAM is comprised of sixteen 16GB Micron PC3-12800 DIMMs that remain static for each CPU tested. We leveraged the 2.6TB Fusion ioMemory PX600 for in-host storage, which has posted very good SQL Server latency numbers (the fastest current-gen product our lab has tested).
- 2x Intel Xeon E5 v2 CPUs
- Intel C602 Chipset
- Memory - 256GB (16x 16GB) 1600MHz Micron DDR3 Registered RDIMMs (128GB dedicated to system, 128GB dedicated to SQL)
- Windows Server 2012 Standard
- 3x Supermicro SAS3 HBAs (LSI SAS 3008 Controllers)
- 200GB Micron P400m Boot SSD
- 1x Mellanox ConnectX-3 Dual-Port VPI PCIe 3.0 Adapter (InfiniBand LoadGen Fabric)
- 1x Emulex OCe11102 Dual-Port 10GbE Adapter
- SanDisk Fusion-io ioMemory PX600 2.6TB
- 80% Over-provisioning in high-performance mode
- Full power draw enabled
- VSL 4.1.1 Firmware/Drivers
The CPUs under consideration are two each of the following:
- Intel Xeon Processor E5-2640 v2 - 20M Cache, 2.00GHz, 8 cores - $889
- Intel Xeon Processor E5-2687W v2 - 25M Cache, 3.40GHz, 8 cores - $2112
- Intel Xeon Processor E5-2690 v2 - 25M Cache, 3.00GHz, 10 cores - $2061
- Intel Xeon Processor E5-2697 v2 - 30M Cache, 2.70GHz, 12 cores - $2618
The obvious standout in this group is the workstation-class E5-2687W v2 processor. The purpose of this CPU analysis is to determine whether clock speed or core-count was best, the 2687W v2 was included as it is the highest clock speed 8-core+ processor in the E5 v2 family. Outside of purchasing CPUs separately, the workstation-class processors are not offered as an option from most server vendors. That leaves the 3GHz 10-core E5-2690 v2 or the 3.3GHz 8-core E5-2667 v2 (the latter of which wasn't tested) as the highest clock speed offerings for most buyers.
Each set of two CPUs were tested in the same manner: leveraging our SQL Server 2012 OLTP benchmark with the database sitting on the PX600 inside the single-node 2P Supermicro server. As with most storage devices in the same class, we don't worry so much about transaction per second; the emphasis is really on the latency for each of those transactions to complete.
As expected, all four CPUs delivered TPS numbers within a few points. With that said, the processor with the highest clock speed came out in front of the processors with additional cores, or lower clocks peeds.
Turning to latency, which is really what we care about here, the numbers get much more interesting. Of all the Intel Xeon Ivy Bridge v2 processors, the E5-2690 (3.00GHz, 10 cores) and E5-2687W (3.40GHz, 8 cores) posted 2ms latency scores with the Fusion ioMemory PX600. The E5-2697 (2.70GHz, 12 cores) came in next with 5ms followed closely by the E5-2640 (2.00GHz, 8 cores) with 6ms.
From the information we've gathered in this particular configuration, the resounding message for those building a SQL Server 2012 production server is that clock speed matters more than the number of cores. With all other variables kept equal, we measured higher performance in TPC-C runs from the 8-core 3.4GHz E5-2687W v2 than from the 12-core 2.7GHz E5-2697 v2. Differences in performance were narrowed when compared against the 10-core 3GHz E5-2690 v2, which was able to match 2ms latency figure, although slightly trail in TPS. The difference between the top and bottom though is also nearly $1000 per CPU according to list price. Whether that price delta is worth the 3X improvement in SQL Server latency is dependent on the business needs, or perhaps a CPU set in between is the ideal compromise.
At the end of the day it makes sense to research which components offer the best performance per dollar for your specific workload, so that more educated decisions can be made. For highly virtualized workloads the additional cores can definitely help improve performance to cram additional VMs onto a single server. In the case of SQL Server 2012 running on a physical host though with Ivy Bridge v2 CPUs, clock speed matters more.
Selecting the Best RAM Configuration for SQL Server 2012