Windows系统在kvm环境下运行,以libvirt和qemu的hypervisor层角度看是不区分客户机操作系统是Linux还是Windows,但实际运行来看性能相差较大,本文从以下几个方面进行分析并提供优化方案。
virtio
虚机默认使用的驱动是virtio驱动,Windows中的磁盘网卡也都是使用virtio驱动,网卡需要从hypervisor层做网卡类型的转换,如vhost,vhost_user等。磁盘在virtio驱动下需要注意的是virtio版本对Windows虚机磁盘读写性能的影响,最新版本virtio-win-0.1.118.iso已经解决此问题,所以尽量取最新的版本使用,对磁盘性能测试如下:
可以看到平均速度为36.2M/s左右
平均速度为75.4M/s,性能提升一半左右。绑核、巨页
绑核和使用巨页内存是虚拟化较为通用的优化方式,windows和linux都适用,巨页提升内存性能,绑核增强计算能力,如果多虚机并发也可先进行物理机的核隔离,然后再绑核,这里不做过