by Priti Mishra
Performance studies have previously shown that there is no doubt virtualized servers can run a variety of applications near, or in some cases even above, that of software running natively (on bare metal). In a new white paper, we raise the bar higher and test “monster” vSphere virtual machines loaded with CPU and running the most taxing databases and transaction processing applications.
The benchmark workload, which we call Order-Entry, is based on an industry-standard online transaction processing (OLTP) benchmark called TPC-C. Both rigorous and demanding, the Order-Entry workload pushes virtual machine performance.
Note: The Order Entry benchmark is derived from the TPC-C workload, but is not compliant with the TPC-C specification, and its results are not comparable to TPC-C results.
The white paper quantifies the:
- Performance differential between ESXi 6.0 and native
- Performance differential between ESXi 6.0 and ESXi 5.1
- Performance gains due to enhancements built into ESXi 6.0
Results from these experiments show that even the most demanding applications can be run, with excellent performance, in a virtualized environment with ESXi 6.0. For example, our test results show that ESXi 6.0 virtual machines run out of the box at 90% of the performance of native systems. In addition, a 64-vCPU, 475GB VM processes 59.5K DBMS transactions per second while issuing 155K IOPS, capabilities well above even the high-end Oracle database installations. Even for applications that may require 64 or 128 vCPUs, the high-end performance boost of ESXi 6.0 over ESXi 5.1 makes ESXi 6.0 the best platform for virtualizing databases such as Oracle.
ESXi 6.0 Performance Relative to Native
With a 64-vCPU VM running on a 72-pCPU ESXi host, throughput was 90% of native throughput on the same hardware platform. Statistics which give an indication of the load placed on the system in the native and virtual machine configurations are summarized in Table 1.
Metric | Native | VM |
Throughput in transactions per second | 66.5K | 59.5K |
Average CPU utilization of 72 logical CPUs | 84.7% | 85.1% |
Disk IOPS | 173K | 155K |
Disk Megabytes/second | 929MB/s | 831MB/s |
Network packets/second | 71K/s receive 71K/s send |
63K/s receive 64K/s send |
Network Megabytes/second | 15MB/s receive 36MB/s send |
13MB/s receive 32MB/s send |
Table 1. Comparison of Native and Virtual Machine Benchmark Load Profiles
The corresponding guest statistics in Table 2 provide another perspective on the resource-intensive nature of the workload. These common Linux performance metrics show that while the benchmark workload was heavy in terms of raw CPU demands, it also placed a heavy load on the operating system, interrupt handling, and the storage subsystem, areas that have traditionally been associated with high virtualization overheads.
Metric | Amount |
Interrupts per second | 327K |
Disk IOPS | 155K |
Context switches per second | 287K |
Load average | 231 |
Table 2. Guest OS Statistics
ESXi 6.0 Performance Relative to ESXi 5.1
Experimental data comparing ESXi 6.0 with ESXi 5.1 (see Figures 1 and 2) show that high-end scale-up with ESXi 6.0 mirrors that of native systems.
Figure 1. Absolute throughput values
With ESXi 5.1, the Order-Entry benchmark throughput of a 64-vCPU VM on a 4-socket, 32 core/64 thread E7- 4870 (Westmere) server was 70% of the throughput of the same server in native mode when both servers were running at 77% CPU utilization (the native server reached a maximum CPU utilization of 88% and throughput of 54.8 transactions per second).
Figure 2. Relative throughput ratios
vSphere has the capability to handle loads far larger than that demanded by most Oracle database applications in production. Support for monster VMs with up to 128 vCPUs, throughput which is 90% of native and a significant performance boost over ESXi 5.1, make ESXi 6.0 an excellent platform for virtualizing very high end Oracle databases.
For details regarding experiments and the performance enhancements in vSphere, please read the paper.