For HammerDB, we ran the 8 vCPU/32 GB database VMs in a scale-out fashion. We started with 1 database VM, then ran 2 database VMs simultaneously, again for 4, and so on. Note that for every database VM, we had a 4 vCPU/4 GB load driver VM. vSphere’s Distributed Resource Scheduling (DRS) was especially useful, as it intelligently migrated the VMs via vMotion to lesser-utilized hosts within the cluster.
The results show good scaling within VMware Cloud on AWS. With 1 database VM, we achieved 864,479 TPM, scaling out to over 6.7 million TPM with 16 VMs (Figure 5).
Figure 5. SQL Server VM scale-out performance with HammerDB
We then wanted to see how these results in the cloud would look compared to an on-premises vSphere environment. Unfortunately, due to storage capacity issues, we were not able to scale the on-premises testbed to the same degree, but the 1, 2, and 4-VM results are shown in Figure 6.
Figure 6. SQL Server VM scale-out performance with HammerDB
We can see from these HammerDB results that the performance is virtually identical between the on-premises and the VMware Cloud on AWS environments. The slight performance edge of the latter is due to the hosts’ faster processors in the cloud environment; as mentioned earlier, we did not have the luxury of configuring the two environments identically.
Microsoft’s Cloud Database Benchmark (CDB) represents a heavier, more up-to-date OLTP workload that is specifically tailored to benchmarking private and public clouds. This allowed us to configure the database VMs to be much larger; namely, we were able to increase the number of vCPUs from 8 to the number of physical cores in the host, and the virtual RAM from 32 GB to the amount of virtual RAM in the host (512 GB). We often refer to these as “wide” or “monster” VMs, because they are larger than average VMs and consume most, if not all, of the host’s resources. For reference, we did try running HammerDB with the larger VMs, but did not see the benchmark/database scale as expected. Figure 7 shows a side-by-side comparison of the CDB results we saw when we compared the on-premises environment to VMware Cloud on AWS.
Figure 7. SQL Server “monster VM” performance with CDB
The CDB benchmark results showed similar performance across both on-premises and cloud environments, though the VMs were consistently higher-performing in the VMware Cloud on AWS case. Had the two environments been identical from a hardware perspective, we would have expected the results to be indistinguishable. Nonetheless, the key takeaway is that customers should not expect to lose any performance by transitioning their SQL database workloads to the public cloud.