我遵循了http://www.linux-kvm.org/page/Tuning_KVM上的说明。 主机是Debian挤压内核3.2,QEMU 1.0,libvirt 0.9.12(全部来自挤压回水口)。 所有4位客人都是Debian Squeeze Kernel 3.2。
所以我在Guest XML中的设置是
<cpu model='host-passthrough'/> <disk [...]/> <driver name='qemu' type='raw' cache='none'/> <target [...] bus='virtio'/> </disk> <interface [...]> <model type='virtio'/> </interface>
客户端IO调度程序设置为noop。 在主机上,我尝试了noop / deadline / cfq,没有明显的性能差异。 所有客人的存储由LVM提供。 当使用cache='none'且所有guest虚拟机没有值得注意的负载时,主机上15分钟的平均CPU负载将上升到3-4。 但是当使用cache='writeback' ,加载的主机CPU会降低到小于1.任何人都可以解释,为什么LVM的build议设置会导致主机上的更高负载?
BTW:运行磁盘基准testing时,选项none导致IO性能高于writeback 。
OK,在磁盘部分使用附加选项io='native' ,在主机系统上使用IO scheduler cfq ,我将得到我系统的最佳结果。 来宾XML中的选项io所有值和主机和来宾上的IO调度程序的IO速率几乎相同,只有cache='unsafe'会提供更高的性能。 但只有io='native' ,guest cfq io='native' noop调度程序和主机上的cfq调度程序才会获得最低的CPU负载。