Achieving the Ultimate Performance with KVM
summary
Shows concrete knobs and measured results: use NVMe + StorPool and vhost-user with OVS+DPDK or SR‑IOV for lowest network latency (measured ~14µs vs ~37µs for vhost+bridge and ~90–100µs for virtio emulation), use direct I/O/async and io_uring or vhost-style paths to cut storage latency (remote NVMe reads ~70–100µs end‑to‑end), pin CPUs, use hugepages (or KSM when oversubscribing), sample kernel scheduler stats to detect CPU congestion and rebalance VMs, and prefer measured application latency over synthetic IOPS.
AI-written summary · about
chapters (18)
- 0:00Intro
- 0:16About me
- 0:46About Stor Pool • NVMe software-defined storage for VMs and containers
- 2:05Why performance
- 4:08Compute node hardware
- 9:09Tuning KVM
- 10:37CPU and Memory
- 18:23Networking
- 20:08virtio-net QEMU
- 21:11virtio vhost-net
- 22:06virtio vhost-usr/OVS-DPDK
- 23:09PCI Passthrough
- 23:38Virtual Network Performance
- 25:24Additional reading
- 25:43Storage - virtualization
- 30:44Storage -vhost-user
- 33:26Storage benchmarks
- 38:10Conclusion
related talks
43mComparing Performance of NVMe Hard Drives in KVM, Baremetal, and Docker
25mXen and XenServer Storage Performance
26mAnalysis of AMD HW-assisted vIOMMU Implementation and Performance
19mSpeeding Up VM’s I/O Sharing Host's io_uring Queues With Guests
26mAre You Sure About Your Mesh Performance?
21mNVMe Emulation Performance Optimization
40mBenchmarking: Repeatable & Comparable
15mOptimizing Application Performance on Kubernetes
