首页 > 网络 > 云计算 >

windows虚拟机性能调优

2017-04-08

windows虚拟机性能调优,Windows系统在kvm环境下运行,以libvirt和qemu的hypervisor层角度看是不区分客户机操作系统是Linux还是Windows,但实际运行来看性能相差较大,本文从以下几个方面进行分析并提供优化方案。

Windows系统在kvm环境下运行,以libvirt和qemu的hypervisor层角度看是不区分客户机操作系统是Linux还是Windows,但实际运行来看性能相差较大,本文从以下几个方面进行分析并提供优化方案。

virtio

虚机默认使用的驱动是virtio驱动,Windows中的磁盘网卡也都是使用virtio驱动,网卡需要从hypervisor层做网卡类型的转换,如vhost,vhost_user等。磁盘在virtio驱动下需要注意的是virtio版本对Windows虚机磁盘读写性能的影响,最新版本virtio-win-0.1.118.iso已经解决此问题,所以尽量取最新的版本使用,对磁盘性能测试如下:

virtio-102版本磁盘性能

可以看到平均速度为36.2M/s左右

virtio-118版本磁盘性能

平均速度为75.4M/s,性能提升一半左右。

绑核、巨页

绑核和使用巨页内存是虚拟化较为通用的优化方式,windows和linux都适用,巨页提升内存性能,绑核增强计算能力,如果多虚机并发也可先进行物理机的核隔离,然后再绑核,这里不做过多描述。

kvm_intel内核模块选项设置

enable_apicv,是kvm_intel内核模块的两个参数,apic是时钟相关,可以提升虚机性能,apicv这个参数的优化方向:

apic原理图

这是Intel官网上的一张关于apicv性能研究的示意图,具体原理是通过硬件cpu的在硬件层模拟出虚机的apic相关的动作,这样大量减少了vmexit的次数,了解虚拟化原理的应该知道,每次vmexit要进行上下文切换等,性能消耗很大,所以当虚机发生中断请求时通过apicv来减少vmexit的次数,这样可提升虚拟机的整体性能。但apicv需要物理cpu的支持,Intel(R) Xeon(R) E5-2600 V2 Product Family及以后的处理器,可通过重新加载kvm模块来使能该选项。Intel原文连接

在用户态配合apicv的配置在虚机的xml中增加如下配置:

然后创建虚机即可。

更换Windows操作系统

Windows系统在win8之后做了改进,作为虚机系统使用时能够配合kvm来提升虚机性能,主要是减少vmexit的次数,所以建议使用win8之后windows系统作为客户机。

以上为本文提供的Windows虚机性能优化,其中2.3项也适用于Linux虚机的性能提升。

相关文章
最新文章
热点推荐