For Day 12 of this series, I want to go through a common hardware upgrade scenario that I have been seeing quite a bit lately. Many people still have relatively ancient database servers (such as a Dell PowerEdge 1950 or 2950, or HP DL380 Gen 5) that are running either 65nm Conroe-based or 45nm Penryn-based processors. These 2006-2007 vintage processors were commonly known as Core2 Duo or Core2 Quad processors, and they were the last dual-socket capable Intel server processors to use SMP instead of NUMA. They do not have hyper-threading or Intel Turbo Boost. They were good processors in their day, but they are quite old now, and they offer much less performance and scalability than you will get from a modern processor. It is also very likely that a server running these processors is out of warranty (even with a warranty extension), and that it is running SQL Server 2005 on top of Windows Server 2003 R2, both of which are out of mainstream support from Microsoft.
A typical example I have run into numerous times is a server with two 3.0GHz Intel Xeon 5160 processors and 16-32 GB of RAM. Looking at official TPC-E benchmark scores (which is a CPU-bound benchmark), the closest equivalent system that I can find is a Dell PowerEdge 2900, with one, quad-core 2.66GHz Xeon X5355 processor and 48GB of RAM, with a TPC-E score of 144.88. A server with two, dual-core 3.0GHz Xeon 5160 processors and 32GB of RAM would have an estimated TPC-E score of about 160.
For comparison purposes, there is a TPC-E result for an HP DL380p Gen8 system with two Intel Xeon E5-2690 processors that has a TPC-E score of 1881.76 There are also recent TPC-E scores for a four-socket Intel E5-4650 system and a four-socket E7-4870 system. Any of these three processors would be a very significant upgrade over the old Xeon 5160. I have some relevant metrics for these four processors in Table 1.
|Processor||Sockets||Physical Cores||TPC-E Score||TPC-E/Core|
Table 1: Comparing TPC-E Performance for Several Common Intel Processors
Two-socket servers (that can use the Xeon E5-2600 series “Sandy Bridge-EP” processors) will give you significantly better single-threaded processor performance than you can get from a four-socket server using either the older Xeon E7-4800 series “Westmere-EX”, or the newer Xeon E5-4600 series “Sandy Bridge-EP” four-socket processors. Bigger servers are not faster servers!
The Xeon E5-2690 has a significantly better TPC-E score per physical core than the other three processors. The Sandy Bridge-EP processor family does not seem to scale as well as you might expect as you move from a two-socket version (E5-2690) to a four-socket version (E5-4650). Sandy Bridge-EP also has PCI-E 3.0 support, while the older Westmere-EX only has PCI-E 2.0 support. Given the cost of SQL Server 2012 core licenses and the per-core performance differences we see on TPC-E, I would favor the Xeon E5-2690 over the Xeon E5-4650 or the Xeon E5-4870 for most OLTP workloads.