上个月基于Linux 3.10.0-RC1的版本在Intel Haswell Desktop和IvyBrdige-EP平台上,对普通的虚拟化和嵌套虚拟化做了一些性能测试(使用一些基准测试工具)。其中,对于嵌套虚拟化特别对virtual EPT、VMCS shadowing、APIC-v等特性进行了测试了。总的看来,得到测试结果还可以,虚拟化的效率还是挺高的,简单分享一下吧。[本文数据仅供参考,仅代表本人做的某次测试的结果,不同的KVM版本不同的配置都会得到不同的结果。] (Ivy Bridge EP 在 2013年9月release了,10月将此文公开发表)
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,暂没解决所以无法测试(估计会在近期解决掉)。
你好,我想问一下本章博客你的测试结果是存储的,还是网络的性能结果,我现在测试存储时遇到virtio模式下存储io性能下降很厉害的问题。不知你是否有时间给点建议。
本文中的netperf测试时网络,我也测试过磁盘,virtio-blk 还行的,我的书中,有一些数据,你可去找来看看。virtio-blk 在一些情况下有50%左右,另一些情况下达到不用虚拟化时的80%.
Hi,yongjie 我是intel vmm组 kvm qa的实习生,最近遇到一个问题是关于最新的specjbb2015的测试,我用qemu启动的kvm虚拟机跑出来的specjbb2015的result比在物理机上的要高,物理机的配置是broadwell E5-2699 v4,qemu版本是QEMU emulator version 2.10.90 ,我使用的是单个cpu,单个memory(16G),以排除numa的影响,想咨询您下虚拟机跑分比物理机高的原因会和什么有关呢?希望能收到您的回复,谢谢!