Just about a year ago, I wrote Selecting a Processor for SQL Server 2012. Since SQL Server 2014 is due to be released sometime in early 2014 (according to Mary Jo Foley), it seems like a good time to revisit this subject, and see what might have changed over the past twelve months.
My assumption is that SQL Server 2014 will use the same core-based licensing model that SQL Server 2012 does, since I have not heard any public announcements otherwise. I would not be surprised to see some minor price increases in the license cost per core, but I would be very surprised to see any major changes to how core-based licensing works. I do hope that Microsoft will make some changes to the artificially low hardware license limits for SQL Server Standard Edition.
The difference in SQL Server 2014 licensing costs between a good processor choice and a bad processor choice can more than pay for your hardware and at least a portion of your storage subsystem in many cases, so this is something you need to pay attention to as a database professional. Don’t just let “Shon the server guy” pick what processors to buy for your new database server!
Over the past year, Intel has released the 22nm Intel Xeon E5-2600 v2 Product Family (Ivy Bridge-EP) of processors for two-socket servers. Currently, there are 22 different processors in this family, which seems like an overwhelming number of choices. When you think about how SQL Server 2012/2014 licensing works, and you want the best performance possible for the lowest license cost, you can pretty quickly narrow down that list to just five processors. These are the twelve-core Xeon E5-2697 v2, the ten-core Xeon E5-2690 v2, the eight-core Xeon E5-2667 v2, the six-core Xeon E5-2643 v2, or the four-core Xeon E5-2637 v2. Table 1 shows the relevant specifications for these five processors.
|Model||Cores||Base Speed||Turbo Speed||L3 Cache Size||Cost|
Table 1: Recommended Xeon E5-2600 v2 Processor Models for SQL Server 2012/2014
You might be wondering how I can so quickly discard so many of Intel’s new Xeon E5-2600 v2 processor models. You need to keep in mind that only physical cores count for licensing purposes (on non-virtualized servers). If there are multiple models from the same product family with the same physical core count, you should prefer the one with the highest base clock speed, turbo clock speed, the highest Intel QPI speed and the largest shared- L3 cache size.
By those criteria, we get the five processor models shown in Table 1. Your choice then comes down to your desired physical core count for each processor, which drives your SQL Server 2014 licensing costs. You might notice that the lower core-count processors tend to have higher base clock speeds than their higher core count brethren, which is actually quite significant for single-threaded processor performance. Another factor to notice is that some of the lower core count models have the same L3 cache size as the next higher core count processor in the table, which gives each physical core a larger portion of the L3 cache to work with (since the L3 cache is shared between all of the cores). Having a larger L3 cache is very helpful for database server performance, since L3 cache is significantly faster than main memory access.
Bearing all of this in mind helps you narrow down your choices even further. You need to consider your workload and your budget as you make your final processor choice. If you want the best single-threaded processor performance (which is very important for OLTP workloads), and the overall magnitude of your workload (in terms of number of concurrent users or batch requests per second) is on the smaller side, you should be focused on the E5-2667 v2, E5-2643 v2 or the E5-2637 v2.
Your final choice might be constrained by your software license budget, since each Enterprise physical core license will cost $6,874.00 (at least with SQL Server 2012 Enterprise Edition pricing). Quite often, financial considerations may guide you to lower core count model. For example, in most situations, I would have no problem with someone picking a six-core E5-2643 v2 instead of an eight-core E5-2667 v2, and saving $27,496.00 in software license costs! That would pay for the server itself, with money left over.
Another strategy might be valid if you were trying to replace an older four-socket server with a two socket server and you were concerned about whether the two socket server could handle the total concurrent workload. In that situation, you might want to choose the twelve-core E5-2697 v2. Another choice could be two new two-socket servers that each had two of the significantly faster six-core E5-2643 v2 processors (assuming you could split your workload between two database servers).
Just for comparison’s sake, here are the same specifications for the three best choices of the 19 previous generation 32nm Intel Xeon E5-2600 Product Family (Sandy Bridge-EP) processors, in Table 2.
|Model||Cores||Base Speed||Turbo Speed||L3 Cache Size||Cost|
Table 2: Recommended Xeon E5-2600 Processor Models for SQL Server 2012
What you may notice from comparing Table 1 to Table 2 is that you are getting a nice increase in base and turbo clock speeds, along with larger L3 cache sizes for the same cost, when you compare equivalent processor models from both generations (that have the same core counts). On top of that, there are some small architectural improvements between 32nm Sandy Bridge-EP and 22nm Ivy Bridge-EP that give you a 5-10% performance boost in most benchmarks. Once again, this means that you do not want to let “Shon the server guy” pick an older Sandy Bridge-EP processor for your new database server.
In Part Two of this series, I will talk about the upcoming 22nm Intel Xeon E7-4800 v2 Product Family (Ivy Bridge-EX) for four-socket servers that is due to be released during the first quarter of 2014. These will be a huge improvement over the much older 32nm Intel Xeon E7-4800 Product Family (Westmere-EX), which is a long overdue development that will narrow the performance gap between two-socket servers and four-socket servers.