Linux性能诊断和调优系列(八)–虚拟环境性能调优案例

Linux性能诊断和调优系列(八)--虚拟环境性能调优案例

目录

libvirt
宿主机建议
虚拟机的CPU建议
虚拟机的内存建议
虚拟机的硬盘建议

libvirt

libvirt是一个通用的虚拟化管理库,而virsh 是其命令行的虚拟化管理工具 。libvirt 被Openstack、KVM/QEMU、Xen等多家虚拟化采用,而且也可以管理VMware、Hyper-V。以下案例都以virsh为例。

宿主机建议

对于虚拟化环境中的宿主机,如果没有特别需求,建议直接使用推荐的virtual-host配置即可。
$ tuned-adm profile virtual-host

虚拟机的CPU建议

将虚拟机CPU绑定到宿主机指定的物理CPU上,从而增加性能。
$ virsh vcpupin myvm --config 0 1
将为虚拟机服务的模拟器线程绑定到宿主机指定的物理CPU上,从而增加性能。
$ virsh emulatorpin myvm1 --config 0

虚拟机的内存建议

设置虚拟机的内存的hard-limit
$ virsh memtune myvm --config --hard-limit 40G
设置虚拟机的内存的soft-limit
$ virsh memtune myvm --config --soft-limit 32G

启用Kernel Shared Memory

$ systmctl enable --now ksm
$ systmctl enable --now ksmtuned

虚拟机的硬盘建议

如果侧重性能,可以使用raw格式的硬盘,甚至直接使用直通模式硬盘。

<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native' />
    <source dev='/dev/vdg' />
    <target dev='vdb' bus='virtio' />
......
</disk>

为了保证虚拟机可使用的物理磁盘的IO,通过设置IOPS来保证QoS
$ virsh blkdeviotune myvm vdb --config --total-iops-sec 1000

更多内容请参见本系列其他文章

<<Linux性能诊断和调优系列(一)--30秒3条命令诊断Linux性能瓶颈>>
<<Linux性能诊断和调优系列(二)--CPU篇>>
<<Linux性能诊断和调优系列(三)--内存篇>>
<<Linux性能诊断和调优系列(四)--硬盘篇>>
<<Linux性能诊断和调优系列(五)--文件系统篇>>
<<Linux性能诊断和调优系列(六)--网络篇>>
<<Linux性能诊断和调优系列(七)--虚拟机及容器篇>>
<<Linux性能诊断和调优系列(八)--虚拟化环境性能调优案例>>
<<Linux性能诊断和调优系列(九)--计算密集型应用性能调优案例>>
<<Linux性能诊断和调优系列(十)--存储密集型应用性能调优案例>>
<<Linux性能诊断和调优系列(十一)--大内存型应用性能调优案例>>

本文内容为原创,如需转载,请务必注明原文出处。
更多相关内容,欢迎访问我的个人网站:hongxu.wang。
我们还提供免费的技术支持,欢迎通过公众号与我们联系。

Index
滚动至顶部