Best Practices for Performance Tuning of Latency-Sensitive Workloads in vSphere VMs
This white paper summarizes findings and recommends best practices to tune the different layers of an application’s environment for latency-sensitive workloads—those which customers are looking at optimizing for a few microseconds to a few tens of microseconds end-to-end latencies (not workloads in the hundreds of microseconds to tens of milliseconds end-to-end-latencies).
We (a cross-functional team at VMware) investigated the performance of an in-memory, distributed data management platform, measured in the number of puts/second of 1KB data objects from one VM on one ESXi host to another VM on a different ESXi host across physical Ethernet networks. The paper provides recommendations that helped us go from 4400 puts/sec when we started, to 7200 puts/sec for a specific single-threaded, single vCPU application performance benchmark, which is at 78% of the score of 9200 puts/sec on bare metal on the same hardware.
We also investigated the performance of two latency micro-benchmarks, one for Infiniband devices and another for networking devices, in VM DirectPath I/O (pass-through) mode. Applying the recommendations reduced latency and therefore increased the score of these latency micro-benchmarks in a virtualized environment, bringing it closer to bare metal performance.