KVM下的windows一般需要做参数优化才能最大程度的发挥其性能,像虚拟化驱动、wirteback缓存、IO调度策略、KSM特性等,不过在windows下一般最需调整的是启用virtio驱动 。调整方法见之前的一篇日志 KVM下windows使用virtio驱动。本篇是承接上篇之后,做的一个硬盘读写和网络传输的一个性能测试。

一、磁盘读写情能测试

1、disk基准读测试

使用原生的IDE硬盘进行基准读测试:

hda1

为了便于比对,我这里还是用的另一块磁盘,打上virtio 驱动后,virsh edit KVM的xml文件,修改原磁盘模式后,仍使用原来的磁盘进行测试的方法:

scsi

改用virtio 驱动的 SCSI 硬盘后 ,其准的平均读取速度上升了60多M/s ,CPU使用率也降低了进一半。

vda1

2、文件基准读写测试

由于直接使用HD Tune 的基准写入测试时,会提示“写入功能关闭。如果要打开写入功能,请删除所有分区。请查看手册获得更多的支持信息。”,即需要空盘或未格化盘才可以做基准写入测试 ,所以此处选择了文件基准读写测试 (其实这里有变通方法,即再请增一块盘,先用IDE方式,再更改为virtio scsi 驱动,先后对新增磁盘做基准写入测试)。

IDE 磁盘的文件基准测试:

hda2

改用virtio SCSI后的文件基准测试 :

vda2

由上面的测试看出,读取测试两者之间差别为20000 KB/秒左右,而写入测试相差了90000 KB/秒左右 。

总结:由于此处只选择了知名度较高的硬盘测试工作 HD Tune ,也未使用其他工具做对比测试 ,同时也未创建条件去做更多选项的专业测试 ,仅仅从两项上做了比对,测试结果未免有小范围的谬误,不过测试了N次后,发现总的趋势大致还是对的 ,得出的结果也都是virtio驱动的SCSI 比qemu 的IDE 读写上更稳定,性能上也更好。

三、网络传输速度测试

同样,仅仅为了说明问题,也未使用专业的网络测试工具,只是通过使用不同的网卡驱动下,通过网络传送一个文件的写入速度做测试 ,同时也未对做多个文件的性能测试 。仅仅是一个单一大文件的测试结果 。

使用原生100M网卡驱动时的传输速度 :

eth0-e100

使用virtio 网卡驱动后的传输平均速度:

eth-virtio

从上面的测试上看,每秒相差2M左右的速度 。还是能说明virtio驱动的性能是优于原生驱动的。