Warning: Constant WP_TEMP_DIR already defined in /var/www/html/blogs/glenn/wp-config.php on line 94

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/feed-rss2.php on line 8
OLTP Archives - Glenn Berry https://www.sqlskills.com/blogs/glenn/tag/oltp/ Semi-random musings about SQL Server performance Tue, 13 Nov 2018 18:52:19 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 Using TPC-E OLTP Benchmark Scores to Compare Processors https://www.sqlskills.com/blogs/glenn/using-tpc-e-oltp-benchmark-scores-to-compare-processors/ https://www.sqlskills.com/blogs/glenn/using-tpc-e-oltp-benchmark-scores-to-compare-processors/#comments Thu, 18 Jul 2013 18:57:24 +0000 http://3.209.169.194/blogs/glenn/?p=811 One of the things I do at SQLskills is paid consulting for customers who are looking to upgrade their database servers to new hardware, a new operating system, and a new version of SQL Server. Part of this process is a comparison of the estimated TPC-E score of the existing system compared to the estimated […]

The post Using TPC-E OLTP Benchmark Scores to Compare Processors appeared first on Glenn Berry.

]]>
One of the things I do at SQLskills is paid consulting for customers who are looking to upgrade their database servers to new hardware, a new operating system, and a new version of SQL Server. Part of this process is a comparison of the estimated TPC-E score of the existing system compared to the estimated TPC-E score on the new system. Here is an example of some of the type of analysis that I do as part of that process.

Imagine a legacy system that is a Dell PowerEdge 2950 with one 45nm, quad-core, 3.0GHz Intel Xeon X5450 “Harpertown” processor, along with 64GB of RAM. That processor has a 1333MHz FSB and a 12MB L2 cache. It has the 45nm Core2 Quad “Harpertown” microarchitecture, which means that it does not support Intel hyper-threading or Intel Turbo Boost, and it uses the older symmetric multiprocessing (SMP) architecture instead of the newer non-uniform memory access (NUMA) architecture.

Nearest TPC-E Comparable Result for Existing System

There is a TPC-E result from 12/11/2007 for a Dell PowerEdge 2900 system with one 65nm, quad-core, 2.66GHz Intel Xeon X5355 “Clovertown” processor, along with 48GB of RAM. That processor has a 1333MHz FSB and an 8MB L2 cache. It has the 65nm Core2 Quad “Clovertown” microarchitecture, which means that it also does not support Intel hyper-threading or Intel Turbo Boost, and it also uses the older SMP architecture. The Intel Xeon 5300 series is one Intel Tick release older than the Intel Xeon 5400 series, so there is a relatively small difference in their relative performance. This actual TPC-E score is 144.88. The Dell system from 2007 was running SQL Server 2005 on Windows Server 2003.

Comparing that Dell TPC-E system to the existing system, we have to make some adjustments to account for the clock speed difference, L2 cache size difference and the Intel Tick release difference. A 3.0GHz clock speed is 12.4% higher than a 2.66GHz, and I estimate that the combination of a larger L2 cache and the newer Tick release would be another 10% difference. If we multiply 144.88 times 1.224, we get a result of 177.33 as an estimated TPC-E score for the current legacy system.

Nearest TPC-E Comparable Result for New System

There is also a TPC-E result from 11/21/2012 for an HP Proliant DL380p Gen 8 system with two 32nm, eight-core, 2.9GHz Intel Xeon E5-2690 “Sandy Bridge-EP” processors, along with 256GB of RAM. This has the 32nm Sandy Bridge-EP microarchitecture, which means that it supports both Intel hyper-threading and Intel Turbo Boost, and it uses the newer NUMA architecture. It also has PCI-E 3.0 support. The actual TPE-E result for this system is 1881.76. This system is running on Windows Server 2012 and SQL Server 2012.

Since we want to minimize our SQL Server 2012 core-based license costs, we are considering only using one actual Xeon E5-2600 series processor in the new server, possibly with a lower core count. The best choices for SQL Server 2012 are the four-core 3.3GHz Intel Xeon E5-2643, the six-core 2.9GHz Intel Xeon E5-2667, and the eight-core 2.9GHz Intel Xeon E5-2690. These three processors have slightly different base and Turbo clock speeds and different L3 cache sizes (although the size per core is the same) and different core counts that must be accounted for. We also need to account for the fact that we will only have one physical processor in the system instead of two.

With a NUMA architecture in a two-socket machine, you will get quite good scaling as you go from one processor to two processors. I believe we should use an estimate of 55% (i.e. one processor will have 55% of the scalability of two identical processors in the NUMA architecture system). We will have to adjust for the core-count difference in the six-core and quad-core processors. We also need to adjust for the higher base clock speed difference in the quad-core Xeon E5-2643 system.

The two-socket Xeon E5-2690 system has an actual TPC-E score of 1881.76. If we multiply that by .55 we get an estimated TPC-E score of 1034.97 with one Xeon E5-2690. If we multiply that by .75, we get an estimated TPC-E score of 776.23 with one Xeon E5-2667.

If we take the 1034.97 estimate for a single eight-core Xeon E5-2690 and multiply that by .50, we get a result of 517.49 for the four-core Xeon E5-2643. We also need to multiply that by 1.138 to account for the 3.3GHz base clock speed compared to the base 2.9GHz clock speed. This gives us an estimated TPC-E score of 588.90 for a single Xeon E5-2643 processor.

The table below summarizes these TPC-E score estimates.

Processor Physical Cores Estimated TPC-E Score
Xeon X5450 4 177.33
Xeon E5-2643 4 588.90
Xeon E5-2667 6 776.23
Xeon E5-2690 8 1034.97

The post Using TPC-E OLTP Benchmark Scores to Compare Processors appeared first on Glenn Berry.

]]>
https://www.sqlskills.com/blogs/glenn/using-tpc-e-oltp-benchmark-scores-to-compare-processors/feed/ 2
Two New TPC-E Submissions for SQL Server 2012 https://www.sqlskills.com/blogs/glenn/two-new-tpc-e-submissions-for-sql-server-2012/ https://www.sqlskills.com/blogs/glenn/two-new-tpc-e-submissions-for-sql-server-2012/#comments Thu, 29 Nov 2012 11:47:39 +0000 /blogs/glenn/post/Two-New-TPC-E-Submissions-for-SQL-Server-2012.aspx Just when I was not looking, two new official TPC-E results have been posted in the last week. IBM has a 3218.46 TPC-E score for an IBM System x3850 X5 that has four Intel Xeon E7-4870 processors, while HP has an 1881.76 TPC-E score for an HP ProLiant DL380p Gen8 system with two Intel Xeon […]

The post Two New TPC-E Submissions for SQL Server 2012 appeared first on Glenn Berry.

]]>
Just when I was not looking, two new official TPC-E results have been posted in the last week. IBM has a 3218.46 TPC-E score for an IBM System x3850 X5 that has four Intel Xeon E7-4870 processors, while HP has an 1881.76 TPC-E score for an HP ProLiant DL380p Gen8 system with two Intel Xeon E5-2690 processors.

What is notable about this is that the 3218.46 score for a four-socket Xeon E7-4870 system is significantly higher than we have seen for similar four-socket Xeon E7-4870 systems in the past. An especially good comparison is between an IBM System x3850 X5 that was submitted on June 27, 2011 and this latest result for an IBM System x3850 X5 system that was submitted on November 28, 2012.  As you can see in Table 1, the newer submission for the same model server has a 12.4% higher score than the older submission. This is for the exact same model server, with the exact same number and model of processors.  The first big difference that jumps out is that the newer submission is running SQL Server 2012 Enterprise Edition on top of Windows Server 2012 Standard Edition, while the older submission is running SQL Server 2008 R2 Enterprise Edition on top of Windows Server 2008 R2 Enterprise Edition.

Date Model Processor Operating System SQL Server Version/Edition TPC-E Score
6/27/2011 System x3850 X5 Xeon E7-4870 Windows Server 2008 R2 Enterprise SQL Server 2008 R2 Enterprise 2862.61
11/28/2012 System x3850 X5 Xeon E7-4870 Windows Server 2012 Standard SQL Server 2012 Enterprise 3218.46

Table 1: Comparing Two IBM System x3850 X5 TPC-E Submissions

Could this 12.4% performance jump be simply due to the newer operating system and the newer version of SQL Server?  It is very possible that there were some low level improvements in Windows Server 2012 that work in conjunction with SQL Server 2012 to improve performance (similar to what we saw with Windows Server 2008 R2 combined with SQL Server 2008 R2). With Windows Server 2008 R2, Microsoft did some low-level optimizations so that they could scale from 64 logical processors to 256 logical processors. This work also benefitted smaller systems with fewer logical processors.  I think it is likely that some similar work was done with Windows Server 2012, so that it could scale from 256 logical processors to 640 logical processors, so that might explain some of the performance increase. I have some questions in to some of my friends at Microsoft, trying to get some more detailed information about this possibility.

It is also possible that there were improvements in SQL Server 2012 all by itself that contributed to the performance increase. Another possibility is that the TPC-E team at IBM just did a much better job on this newer system. If you dive deeper into the two submissions, you will notice some other differences in the hardware and the environment for the test.  The newer submission is a system with 2048GB of RAM and (126) 200GB SAS SSDs for database storage, with a 13.3TB initial database size, while the older submission is a system with 1024GB of RAM and (90) 200GB SAS SSDs for database storage, with a 11.6TB initial database size. As long as you have sufficient I/O capacity to drive the TPC-E workload, the TPC-E score is usually limited by processor performance, so I don’t really think that the RAM and I/O differences are that significant here.

What do you think about this?  I would love to hear your opinions and comments!

The post Two New TPC-E Submissions for SQL Server 2012 appeared first on Glenn Berry.

]]>
https://www.sqlskills.com/blogs/glenn/two-new-tpc-e-submissions-for-sql-server-2012/feed/ 1
Recommended Intel Processors For SQL Server 2012 OLTP Workloads https://www.sqlskills.com/blogs/glenn/recommended-intel-processors-for-sql-server-2012-oltp-workloads/ https://www.sqlskills.com/blogs/glenn/recommended-intel-processors-for-sql-server-2012-oltp-workloads/#comments Thu, 24 May 2012 17:45:02 +0000 /blogs/glenn/post/Recommended-Intel-Processors-For-SQL-Server-2012-OLTP-Workloads.aspx If you are in the process of evaluating and selecting the components for a new database server to run an OLTP workload on SQL Server 2012 Enterprise Edition, you have several initial choices that you have to make as a part of the decision process. First you have to decide whether you want to go […]

The post Recommended Intel Processors For SQL Server 2012 OLTP Workloads appeared first on Glenn Berry.

]]>
If you are in the process of evaluating and selecting the components for a new database server to run an OLTP workload on SQL Server 2012 Enterprise Edition, you have several initial choices that you have to make as a part of the decision process. First you have to decide whether you want to go with an AMD-based server or an Intel-based server. Next, you need to decide on the server socket count, which means choosing a single socket, dual socket, quad socket, or eight socket server (at least in the commodity server market). After you choose the socket count, you need to decide exactly which of the available processors you want to use in that model server. Looking at the choices for several current model servers from the major system vendors, you will discover that you will have to pick from around 15-20 different specific processors. All of this can be a little overwhelming to consider, but I urge you to do some research, and to choose carefully. Letting someone else, who may not be familiar with SQL Server 2012 licensing and the demands of different workload types, could be a lasting, costly mistake.

With the new core based licensing in SQL Server 2012 Enterprise Edition, you need to pay closer attention to your physical core counts, and whether you are more concerned with extra scalability (from having more physical cores), or whether you want the absolute best OLTP query performance (from having a processor with fewer cores but a higher base clock speed from the same generation). Unlike in the past, having more physical cores will cost you more for your SQL Server 2012 Enterprise Edition licensing costs. You really need to think about what you are trying to accomplish with your database hardware. For example, if you can partition your workload between multiple servers, then you could see much better OLTP performance from using two dual-socket servers instead of one quad-socket server.

So, here are the Intel processors that I recommend in late May 2012 for OLTP workloads, with their high level specifications and some commentary.

 

Single Socket Server (High Capacity)

Intel Xeon E5-2470 (32nm Sandy Bridge-EN)

  • 2.3 GHz, 20MB L3 cache, 8 GT/s Intel QPI 1.1
  • 8 cores, Turbo Boost 2.0 (3.1 GHz), hyper-threading
  • Three memory channels, six memory slots per processor, 96GB RAM with 16GB DIMMs

Single Socket Server (High Performance)

Intel Xeon E3-1290 V2 (22nm Ivy Bridge)

  • 3.7 GHz, 8MB L3 cache, 5 GT/s Intel QPI 1.1
  • 4 cores, Turbo Boost 2.0 (4.1 GHz), hyper-threading
  • Two memory channels, four memory slots per processor, 32GB RAM with 8GB DIMMs

At least one Tier One vendor (Dell) is offering a single socket server with the new Sandy Bridge-EN processor family. This is the entry level, dual-socket capable Sandy Bridge processor that has lower clock speeds and less memory bandwidth than the Sandy Bridge-EP processor family. Despite this, it does give you the ability to have eight physical cores and 96GB of RAM in a single socket server. You would see much better single-threaded OLTP performance from a new 2nd generation E3-1290 V2 Ivy Bridge processor, but you would be limited to four physical cores and 32GB of RAM. Again, if you can partition your workload, two single socket Xeon E3-1290 V2 based servers would give you much better OLTP performance than one Xeon E5-2470 based server for the same SQL Server 2012 Enterprise Edition licensing cost.

 

Dual Socket Server (High Capacity)

Intel Xeon E5-2690 (32nm Sandy Bridge-EP)

  • 2.9 GHz, 20MB L3 cache, 8 GT/s Intel QPI 1.1
  • 8 cores, Turbo Boost 2.0 (3.8 GHz), hyper-threading
  • Four memory channels, twelve memory slots per processor, 384GB RAM with 16GB DIMMs

Dual Socket Server (High Performance)

Intel Xeon E5-2643 (32nm Sandy Bridge-EP)

  • 3.3 GHz, 10MB L3 cache, 8 GT/s Intel QPI 1.1
  • 4 cores, Turbo Boost 2.0 (3.5 GHz), hyper-threading
  • Four memory channels, twelve memory slots per processor, 384GB RAM with 16GB DIMMs

Choosing the popular Xeon E5-2690 would cost twice as much for the SQL Server license costs as the quad-core Xeon E5-2643. Once again, if you can partition your workload, two dual socket Xeon E5-2643 based servers would give you better overall OLTP performance than one Xeon E5-2690 based server for the same SQL Server 2012 Enterprise Edition licensing cost. You would have more total memory between the two servers, and more potential I/O capacity, at the cost of buying two servers instead of one server.  This might not make sense, especially with the added management and maintenance overhead.

 

Quad Socket Server (High Capacity)

Intel Xeon E7-4870 (32nm Westmere-EX)

  • 2.4 GHz, 30MB L3 cache, 6.4 GT/s Intel QPI 1.0
  • 10 cores, Turbo Boost (2.8 GHz), hyper-threading
  • Four memory channels, sixteen memory slots per processor, 1024GB RAM with 16GB DIMMs

Quad Socket Server (High Performance)

Intel Xeon E5-4650 (32nm Sandy Bridge-EP)

  • 2.7 GHz, 20MB L3 cache, 8 GT/s Intel QPI 1.1
  • 8 cores, Turbo Boost 2.0 (3.3 GHz), hyper-threading
  • Four memory channels, twelve memory slots per processor, 768GB RAM with 16GB DIMMs

The brand new Xeon E5-4650 will give you significantly better single-threaded OLTP query performance in a quad-socket server than the older E7-4870, at the cost of less total capacity because of the lower core count, smaller L3 cache, and lower RAM capacity. It would save you enough on SQL Server 2012 Enterprise Edition license costs to buy the server itself and still have money left over. Still, as my recent analysis of TPC-E scores by physical core showed, you would get the best possible OLTP performance from a two socket Xeon E5-2690 based system if your workload will fit on a two socket server. I think a high percentage of SQL Server 2012 workloads will run very well on a modern two socket server. You really do take a performance hit when you go from a two-socket server to a four-socket server.

 

Eight or More Socket Server

Intel Xeon E7-8870 (32nm Westmere-EX)

  • 2.4 GHz, 30MB L3 cache, 6.4 GT/s Intel QPI 1.0
  • 10 cores, Turbo Boost (2.8 GHz), hyper-threading
  • Four memory channels, sixteen memory slots per processor, 2048GB RAM with 16GB DIMMs (eight sockets)

You really only have one choice when you go above a four socket server. Unfortunately, even with Non-Uniform Memory Access (NUMA), you will not see 1:1 scaling as you double your socket counts in a server. The situation is much better than it used to be with the old Symmetrical Multi-Processing (SMP) architecture, but looking at recent TPC-E scores show that the eight-socket Xeon E7-8800 family takes quite a performance hit per physical core compared the four-socket Xeon E7-4800 family. You really want to run your workload on a greater number of lower socket count servers if you can.

I always like to hear what you think about my posts, so be sure to let me know!

The post Recommended Intel Processors For SQL Server 2012 OLTP Workloads appeared first on Glenn Berry.

]]>
https://www.sqlskills.com/blogs/glenn/recommended-intel-processors-for-sql-server-2012-oltp-workloads/feed/ 8