KVM的一些基准测试和性能测试数据分享,其中,对于嵌套虚拟化


上个月基于Linux 3.10.0-RC1的版本在Intel Haswell和IvyBrige-EP平台上,对普通的虚拟化和嵌套虚拟化做了一些性能测试(使用一些基准测试工具)。其中,对于嵌套虚拟化特别对virtual EPT、VMCS shadowing、APIC-v等特性进行了测试了。总的看来,得到测试结果还可以,虚拟化的效率还是挺高的,简单分享一下吧。[本文数据仅供参考,仅代表本人做的某次测试的结果,不同的KVM版本不同的配置都会得到不同的结果。]

benchmark工具有:kernel-build、SPECjbb2005、SPECCPU2006、UnixBench、WordPress、Netperf等。
host kernel: 3.10.0-RC1 (+ offline patches for vEPT) 另外,L1 KVM是kernel 3.8.5.
guest OS: RHEL6.4 (启动guest时磁盘和网络一般使用virtio驱动)
(THP透明大页是默认开启的,就像在前面一篇博客中,网友lcy所问到的那样。)

更多详细的配置就不说了,直接上两个测试结果总结的图(数据是经过归一化后的),也附加一定的注释说明。

KVM在Haswell平台上的测试结果如下:

注[1]: virtual EPT的patch还没进到upstream Linux中,本实验是用线下的测试版本,当然可以通过kvm mailing list获得patch。
注[2]: 对与那个Netperf,是使用的Intel的e1000e网卡(千兆网卡),而且都是使用virtio-net驱动,看到的网络性能是最好的情况的数据(较差的情况没有进行测试),可以发现在甚至在L2中可以达到非常接近native的性能,不过我并没有测量CPU利用率,应该来说在L2中使用virtio,达到很高的网络负载时,在L0中会看到CPU使用率比较高的。

KVM在IvyBridge-EP平台上的测试结果如下:

注[3]:上图缺少了嵌套虚拟化中“vEPT enabled, APIC-v enabled”这种case的测试数据,是因为在测试过程中遇到一个bug,暂没解决所以无法测试(估计会在近期解决掉)。

相关内容