[发明专利]一种虚拟化IO性能优化方法及系统有效
申请号: | 201610659376.2 | 申请日: | 2016-08-11 |
公开(公告)号: | CN106325974B | 公开(公告)日: | 2020-02-07 |
发明(设计)人: | 杨敏;刘相乐 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/48 |
代理公司: | 11227 北京集佳知识产权代理有限公司 | 代理人: | 罗满 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 目标队列 请求封装 计算资源 系统整体 响应延迟 性能优化 一次处理 客户机 宿主机 虚拟化 阈值时 保存 检测 | ||
本发明公开了一种基于virtio_blk的虚拟化IO性能优化方法及系统,包括:接收到bio请求时,通过BASE_BIO模块将bio请求存入目标队列;当目标队列保存的bio请求数目大于预定阈值时,检测目标队列保存的bio请求是否存在相邻请求;若存在,则将相邻请求封装为virtblk_requet,并执行kick操作;若不存在,则将每个bio请求封装为对应的virtblk_request,并执行kick操作;可见,在执行kick操作时,让qemu一次处理多个bio请求,减少了kick执行的次数,将更多的计算资源用于IO的处理,大大降低了客户机到宿主机的IO响应延迟,提高了系统整体的IOPS性能。
技术领域
本发明涉及虚拟化技术领域,更具体地说,涉及一种基于virtio_blk的虚拟化IO性能优化方法及系统。
背景技术
随着互联网时代信息、数据爆炸式增长,也带动了存储市场需求的不断增长和变化。为了更好的满足不同客户的需求(如同时提供nas和san服务),统一存储的概念也应运而生,基于虚拟化平台实现统一存储也成为主流技术之一。虚拟化平台主要包括CPU虚拟化、内存虚拟化以及IO虚拟化。其中CPU虚拟化、内存虚拟化技术已经可以通过硬件的方式去实现,实现技术已经很成熟。因此,IO虚拟化成为虚拟机IO性能最核心的技术,virtio应运而生。virtio一套是基于半虚拟化平台的IO虚拟化框架,该框架支持各种设备,如网络设备、SCSI设备,而virtio_blk就是用来提供块设备服务的。
因此,如何基于virtio_blk提高虚拟化IO性能,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种基于virtio_blk的虚拟化IO性能优化方法及系统,以实现提高IO性能。
为实现上述目的,本发明实施例提供了如下技术方案:
一种基于virtio_blk的虚拟化IO性能优化方法,包括:
接收到bio请求时,通过BASE_BIO模块将bio请求存入目标队列;
当所述目标队列保存的bio请求数目大于预定阈值时,检测所述目标队列保存的bio请求是否存在相邻请求;
若存在,则将相邻请求封装为virtblk_requet,并执行kick操作;若不存在,则将每个bio请求封装为对应的virtblk_request,并执行kick操作。
其中,检测到所述目标队列保存的bio请求存在相邻请求之后,还包括:
按照预定规则,将相邻请求动态移动到所述目标队列的前端。
其中,所述按照预定规则,将相邻请求动态移动到所述目标队列的前端,包括:
根据检测到的每个相邻请求的请求数目,设定每个相邻请求的优先级,并根据每个相邻请求的优先级,动态调整每个相邻请求在所述目标队列的保存位置。
其中,检测到所述目标队列保存的bio请求不存在相邻请求之后,还包括:
设置与每个bio请求对应的计时器;
若检测到计时器超时,则将与超时的计数器对应的bio请求的处理优先级设置为最高。
其中,所述检测所述目标队列保存的bio请求是否存在相邻请求,包括:
检测所述目标队列保存的bio请求是否存在位于同一扇区、同一磁道、同一柱面或者同一磁盘中的一者的bio请求;
若存在,则将位于同一扇区、同一磁道、同一柱面或者同一磁盘中的bio请求作为一组相邻请求。
一种基于virtio_blk的虚拟化IO性能优化系统,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610659376.2/2.html,转载请声明来源钻瓜专利网。