One of the most interesting questions we get to dig into in our annual Cloud Report is which CPUs offer the best performance – and more importantly, the best price for performance – for large OLTP workloads.
To answer that question (among others) we test dozens of instance types across the three major public clouds – AWS, GCP, and Azure.
In previous years, we have seen Intel machines leading the pack in terms of raw performance, with AMD becoming increasingly competitive in terms of price for performance. This year, we saw something different: AMD taking the top spot for the first time.
What does that mean? Let’s dive into the details!
In our testing for the 2022 Cloud Report, we performed a couple of different tests that speak to CPU performance and price-for-performance.
Our main benchmark measured OLTP performance via a variation on the TPC-C benchmark called Cockroach Labs Derivative TPC-C nowait. More details on this benchmark are available in the report (which is free), but essentially it’s a variation of the TPC-C benchmark designed to separate scaling the number of transactions processed from the complexity of the workload by removing wait times, which allowed us to get a better comparative signal of performance across instances all running the same database.
While the OLTP benchmark does not only measure CPU performance, it provides a useful picture of how CPU performance impacts overall OLTP performance in a simulated real-world context. This year, we looked at both small (8 vCPU) and large (~32 vCPU) instance types.
We also measured CPU performance directly using CoreMark, an open source, cloud-agnostic benchmark that we have also used in previous years. This year, however, we only tested multi-core results – we feel this is more reflective of real-world performance – and broke those results down into per-vCPU measurements, allowing us to compare performance across different-sized instance types.
In our OLTP testing of both large and small instance types, GCP instances running AMD’s Milan (3rd-generation EPYC) processors took the top spots in terms of overall performance.
It’s worth noting that while AMD Milan processors topped the charts in our testing, instance types with Intel’s latest-gen Ice Lake processors were highly competitive, grabbing the second- and third-place spots in both our large and small instance type testing.
(We should also note that due to our testing cutoff time, we were unable to test AWS’s m6a AMD Milan instance types. Based on the other results of our testing, we expect these instance types would have been highly competitive as well).
In our dedicated CPU benchmarking, the results were even more emphatic. Every one of the top ten instance types by CPU performance had an AMD Milan processor:
Here, we were surprised to see Intel Ice Lake processors performing worse than their older Cascade Lake counterparts – a result that contradicts what we saw in the OLTP benchmark.
Machines with AMD Milan processors weren’t just the top performing instance types in our OLTP testing. They also topped the charts in terms of price for performance (which we measure in terms of cost per new-order transaction per minute ($/TPM) using the clouds’ reserved pricing (at time of testing) and assuming a one-year commitment.
In the chart above, the top two instance types both use AMD Milan processors. However, the instance types in the number 3 and 4 positions both use Intel processors, beating out the Azure instance in the number 5 slot, which has AMD Milan processors.
So, similar to the results of the OLTP performance testing, our price for performance testing results found AMD Milan instances in the top spots, but Intel Cascade Lake instance types were highly competitive.
Skimming these results could give the impression that AMD’s Milan processors dominated the testing and thus are the best option for anybody with an OLTP workload they’re planning to run on one of the three public clouds.
However, it’s important to remember that the CPU benchmark isn’t as reflective of real-world performance as the OLTP benchmarks, and those – both the overall performance and price for performance – were very close. Intel’s latest-generation Cascade Lake processors were very competitive, and we expect that they would offer superior performance under some circumstances. Every workload is different, and no real-world workload is going to precisely match the demands of our OLTP benchmarking.
If you’re trying to choose an instance type for your OLTP workload, we strongly recommend checking out the report (which is free) to dig into all of the details and see the cloud-specific results. Whether you’ve already chosen a cloud provider or you’re looking to pick a cloud and an instance type, the 2022 Cloud Report has in-depth per-cloud results for 56 different instance types, and includes reporting on storage (read and write IOPS) and network latency and throughput (both intra-AZ and cross-region) as well as cost analysis to help you pick the instance type that offers you the overall best bang for your buck.
The 2022 Cloud Report is finally here, and we think it was worth the wait!
In this completely free 70+ report, you’ll …Read More