We recently helped a customer move their Azure hosted production SQL Cluster from D-Series VMs the newer G-Series VMs. Prior to doing so, I had a difficult time finding a good set of performance metrics or benchmarks to justify the different in cost and gauge the potential performance improvements. This article shows my high-level performance results of the various Azure instances within our customers environment.
Why the move
This particular customer had a 60GB SQL database and had relatively low transaction load. The performance problems they were experiencing looked to be related directly to a lack of memory. Unfortunately, the only way to get more RAM from their current D12 VM (4 core x 28GB) within the D-Series was to move to the very large D13 machine (8-cores x 56GBs of RAM). This in my opinion is unfortunate… since the additional 4 cores were of no use to this customer (given their user load) and in fact couldn’t even be used if they wanted to due to SQL core licensing… so the added cost was frankly unjustifiable. Spending almost most $500 more per month, just to get the additional memory they needed was silly. Instead, after a brief cost/benefit analysis, we recommended and then moved the customer to the new G-Series machines.
In our case, the G2 machine offered the needed memory (56GBs) and paired it with only 4 CPUs. The result was a machine, that for our purposes, would not only perform better with faster CPUs – but would cost less than the D-Series D13 alternative.
The following results are based on GeekBench 3 and are based on the average of 3 full runs of the 64-bit benchmark. All tests were performed during off-peak hours and are from the Azure US West location.
Single performance of the G-Series machines were approximately 20-25% faster than the D-Series. This makes sense given the use of the much newer Intel Xeon E5 V3 CPUs.
Multi-core performance improved as well. Please note the # of cores to compare apples-to-apples.
One cool thing I did not expect was that the temporary local storage D: drive was faster on the G’s than the D’s. Both are backed by SSD drives and are useable for things like SQL TempDb’s and Buffer Pool Extensions… so the speed boost here is also of value.
One challenge with the move from the production cluster was the fact that G and D/A series VM’s can’t be mixed within the same cloud service. Previously, we had recommend our customer save cost by having their D12 VM (Primary) paired with a much less expensive A5 (Secondary). Since the secondary was never used, it simply needed fast write access and enough RAM / CPUs that the system would be usable during a reboot / failover of the primary.
With the move to G-Series, we were forced to move the A5 machine to a G1. This had a big impact on cost. Fortunately, it was determined that because the G1 had 2X the memory and 2X the raw CPU performance (of the A-series), we could actually decommission a few existing A-based servers, move their function to the new G machines and thus minimize the overall cost impact of the upgrade.
For what it’s worth – here is a CPU-Z report on the G-Series CPU: