ITPub博客

首页 > 数据库 > 数据库开发技术 > 43 最佳实践-性能最佳实践-IOThread配置

43 最佳实践-性能最佳实践-IOThread配置

原创 数据库开发技术 作者:shuchaoyang 时间:2023-03-28 07:30:00 0 删除 编辑

43 最佳实践-性能最佳实践-IOThread配置43.1 概述43.2 配置说明

43 最佳实践-性能最佳实践-IOThread配置

43.1 概述

KVM平台上,对虚拟磁盘的读写在后端默认由QEMU主线程负责处理。这样会造成如下问题:

  • 虚拟机的I/O请求都由一个QEMU主线程进行处理,因此单线程的CPU利用率成为虚拟机I/O性能的瓶颈。

  • 虚拟机I/O在QEMU主线程处理时会持有QEMU全局锁(qemu_global_mutex),一旦I/O处理耗时较长,QEMU主线程长时间占有全局锁,会导致虚拟机vCPU无法正常调度,影响虚拟机整体性能及用户体验。

可以为virtio-blk磁盘或者virtio-scsi控制器配置IOThread属性,在QEMU后端单独开辟IOThread线程处理虚拟磁盘读写请求,IOThread线程和virtio-blk磁盘或virtio-scsi控制器可配置成一对一的映射关系,尽可能地减少对QEMU主线程的影响,提高虚拟机整体I/O性能,提升用户体验。

43.2 配置说明

使用IOThread线程处理虚拟机磁盘读写请求,需要修改虚拟机配置,这里给出具体的配置说明。

  • 配置虚拟机高性能虚拟磁盘的总数。例如通过<iothreads>配置IOThread线程的总数为4:

    <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>   
        <name>VMName</name>
        <memory>4194304</memory>
        <currentMemory>4194304</currentMemory>
        <vcpu>4</vcpu>
        <iothreads>4</iothreads>
  • 给virtio-blk磁盘配置IOThread属性。<iothread>表示IOThread线程编号,编号从1开始配置,最大为<iothreads>的配置值,且编号不能重复使用。例如将编号为2的IOThread配置给virtio-blk磁盘使用:

    <disk type='file' device='disk'>
        <driver name='qemu' type='raw' cache='none' io='native' iothread='2'/>
        <source file='/path/test.raw'/>
        <target dev='vdb' bus='virtio'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </disk>
  • 给virtio-scsi控制器配置IOThread属性。例如将编号为2的IOThread配置给virtio-scsi控制器使用:

    <controller type='scsi' index='0' model='virtio-scsi'>
        <driver iothread='2'/>
        <alias name='scsi0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
  • IOThread线程绑定物理CPU

    虚拟磁盘IOThread线程的绑核配置,将IOThread线程绑定到用户指定的物理CPU范围内,不影响vCPU线程的资源占用诉求。<iothread>表示IOThread线程编号,<cpuset>表示绑定的物理CPU编号。

    <cputune>
    <iothreadpin iothread='1' cpuset='1-3,5,7-12' />
    <iothreadpin iothread='2' cpuset='1-3,5,7-12' />
    </cputune>


👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!


有什么吐槽或反馈意见,直接告诉我!

温馨提示:如出现二维码失效也可直接添加微信号:ysc13803862469。


原文作者:超哥的IT私房菜;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
专注于IT系统集成、运维、架构二十年的IT职场老兵,拥有CCNA、OCA、OCP、PGCA、PGCE认证证书,公众号:超哥的IT私房菜,知识星球:超哥的IT私房菜,目前是多家IT厂商的咨询顾问。

注册时间:2021-08-27

  • 博文量
    552
  • 访问量
    303582