The TPC Benchmark E (TPC-E) is an OLTP performance benchmark that was introduced in May, 2007. The TPC-E benchmark is a not a replacement for the old TPC-C benchmark, but rather is a completely new OLTP benchmark. Even though this new benchmark has been available for about five years, there are still no posted results for any other RDBMS besides SQL Server. Whatever the reasons why other database vendors have not allowed the hardware vendors post TPC-E results with their RDBMS, there are certainly many results posted for SQL Server, which makes it a very useful benchmark when assessing SQL Server hardware. At the time of this writing, we are up to 54 published TPC-E results, using SQL Server 2005, 2008, 2008 R2, and SQL Server 2012. This gives you many different systems and configurations to choose from, as you look for a system that is similar to a new system that you want to evaluate.
The TPC-E benchmark is an OLTP, database-centric workload that is meant to reduce the cost and complexity of running the benchmark compared to the older TPC-C benchmark. Unlike TPC-C, the storage media for TPC-E must be fault tolerant (which means no RAID 0 arrays). Overall, the TPC-E benchmark is designed to have reduced I/O requirements compared to the old TPC-C benchmark, which makes it both less expensive and more realistic since the sponsoring hardware vendors will not feel as much pressure to equip their test systems with disproportionately large, expensive disk subsystems in order to get the best test results. The TPC-E benchmark is also more CPU intensive than the old TPC-C benchmark, which means that the results tend to correlate pretty well to CPU performance, as long as the I/O subsystem can drive the workload effectively. My assumption here is that any hardware vendor that takes the time and expense required to submit a TPC-E Benchmark result is going to make sure they have enough I/O capacity to properly drive the workload for the benchmark.
When I am assessing the relative OLTP performance of different processors, I like to take the raw TPC-E tpsE score for a system using that particular processor and divide it by the number of physical cores in the system to get an idea of the relative “per physical core performance”. When you do this, you should also be aware of how many physical sockets are in the system, since you will not see 1:1 scaling as you add additional sockets, even with NUMA (which is a huge improvement over the old SMP architecture). This means that a four socket system would not have double the performance of a two socket system that was using the exact same processors and components. This is further complicated by the fact that Intel has a different release cycle for their processors that are primarily intended for two socket systems, where newer models become available in the two socket space about 12-18 months before the roughly equivalent four socket processor. I say roughly equivalent, since the two socket models usually have higher base and turbo clock speeds than the four socket models from the same processor generation. A good example is the two socket Intel Xeon X5690 (Westmere-EP) compared to the four socket Intel Xeon E7-4870 (Westmere-EX). The Intel Xeon X5690 has a significantly higher base clock speed (3.46GHz vs. 2.4GHz) and a higher turbo clock speed (3.73GHz vs. 2.8GHz) compared to the Intel Xeon E7-4870. There are more than clock speed differences to consider here, since the X5690 only has six physical cores, and a 12MB L3 cache, while the E7-4870 has ten physical cores and a 30MB L3 cache.
Keeping all of this in mind, I found some recent TPC-E results for several of the latest processors from both AMD and Intel, and divided the actual raw score by the number of physical cores in the system. I decided to divide by physical cores, since SQL Server 2012 Enterprise Edition is licensed by physical processor core instead of the old familiar per socket licensing that was used in previous versions of SQL Server. This means that people should be focused on getting the most performance and scalability possible from each physical processor core from a hardware selection and licensing perspective. As you can see by looking at the Score/Core column of Table 1, the new Intel Xeon E5-2690 (Sandy Bridge-EP) is the current champion, followed pretty closely by the Intel Xeon X5690 (Westmere-EP). We see a pretty big drop going to the Intel Xeon E7 processors, in a four and eight socket configuration. Finally, the latest AMD processors are bringing up the rear, with quite a gap between them and the Intel offerings. This does not look very good if you are thinking about using AMD processors for an OLTP workload, especially since you will have to pay for more physical cores (up to 16) in an Opteron 6200 series processor. One factor that helps mitigate these scores and license costs somewhat for AMD is the new SQL Server 2012 Core Factor Table that Microsoft released on April 1, 2012. This table reduces the licensing cost for most new AMD processors that have six or more cores by allowing you to multiply the actual physical core count by a factor of 0.75 for licensing purposes.
|IBM System x360 M4||Intel Xeon E5-2690||1863.23||2||16||116.45|
|HP Proliant DL380 G7||Intel Xeon X5690||1284.14||2||12||107.01|
|IBM System x3850 X5||Intel Xeon E7-4870||2862.61||4||40||71.57|
|NEC Express 5800/A1080a||Intel Xeon E7-8870||4614.22||8||80||57.68|
|HP Proliant DL385 G7||AMD Opteron 6282SE||1232.84||2||32||38.53|
|HP Proliant DL585 G7||AMD Opteron 6176SE||1400.14||4||48||29.17|
Table 1: TPC-E Performance by Physical Core
Filed under: AMD, Computer Hardware, Intel, Processors, SQL Server 2008 R2, SQL Server 2012 Tagged: OLTP, Performance