请求处理方法和装置制造方法及图纸

技术编号:20160149 阅读:27 留言:0更新日期:2019-01-19 00:12
本申请实施例公开了请求处理方法和装置。该方法的一具体实施方式包括:响应于虚拟机启动,获取虚拟机的每一个设备的工作队列数量信息,工作队列数量信息指示虚拟机的设备对应的一个处理线程绑定的设备的工作队列的数量,所述数量为一个或多个;基于虚拟机的每一个设备的工作队列数量信息,分别创建所述虚拟机的每一个设备对应的处理线程,其中,虚拟机的设备对应的处理线程用于处理所述处理线程绑定的设备的工作队列中的对虚拟机的设备的访问请求。实现了针对虚拟机的不同的设备,调整设备对应的I/O线程绑定的处理线程的数量,提升了虚拟机的设备的I/O性能,进而提升整个系统的I/O性能。

【技术实现步骤摘要】
请求处理方法和装置
本申请涉及计算机领域,具体涉及虚拟机领域,尤其涉及请求处理方法和装置。
技术介绍
在云计算环境中,具有多工作队列的Virtio设备被应用广泛。如何提升具有多工作队列的Virtio设备的I/O性能一直是云计算领域研究的重点。
技术实现思路
本申请实施例提供了请求处理方法和装置。第一方面,本申请实施例提供了请求处理方法,该方法包括:响应于虚拟机启动,获取虚拟机的每一个设备的工作队列数量信息,工作队列数量信息指示虚拟机的设备对应的一个处理线程绑定的设备的工作队列的数量,所述数量为一个或多个;基于虚拟机的每一个设备的工作队列数量信息,分别创建所述虚拟机的每一个设备对应的处理线程,其中,虚拟机的设备对应的处理线程用于处理所述处理线程绑定的设备的工作队列中的对虚拟机的设备的访问请求。第二方面,本申请实施例提供了请求处理装置,该装置包括:获取单元,被配置为响应于虚拟机启动,获取虚拟机的每一个设备的工作队列数量信息,工作队列数量信息指示虚拟机的设备对应的一个处理线程绑定的设备的工作队列的数量,所述数量为一个或多个;创建单元,被配置为基于虚拟机的每一个设备的工作队列数量信息,分别创建所述虚拟机的每一个设备对应的处理线程,其中,虚拟机的设备对应的处理线程用于处理所述处理线程绑定的设备的工作队列中的对虚拟机的设备的访问请求。本申请实施例提供的请求处理方法和装置,通过响应于虚拟机启动,获取虚拟机的每一个设备的工作队列数量信息,工作队列数量信息指示虚拟机的设备对应的一个处理线程绑定的设备的工作队列的数量,所述数量为一个或多个;基于虚拟机的每一个设备的工作队列数量信息,分别创建所述虚拟机的每一个设备对应的处理线程,其中,虚拟机的设备对应的处理线程用于处理所述处理线程绑定的设备的工作队列中的对虚拟机的设备的访问请求。实现了针对虚拟机的不同的设备,调整设备对应的I/O线程绑定的处理线程的数量,提升了虚拟机的设备的I/O性能,进而提升整个系统的I/O性能。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1示出了适于用来实现本申请的实施例的示例性系统架构;图2示出了根据本申请的请求处理方法的一个实施例的流程图;图3示出了虚拟机的设备对应的I/O线程与工作队列绑定关系的一个效果示意图;图4示出了根据本申请的请求处理装置的一个实施例的结构示意图;图5示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。请参考图1,其示出了适于用来实现本申请的实施例的示例性系统架构。虚拟机可以包括多个设备,虚拟机的设备可以为虚拟机的网卡、磁盘等设备。虚拟机的每一个设备均具有工作队列。虚拟机的每一个设备的工作队列均可以为多个。对虚拟机的设备的访问请求可以称之为对虚拟机的设备的I/O请求。每生成一个对虚拟机的设备的I/O请求,对虚拟机的设备的I/O请求会被加入到设备的工作队列中。可以通过物理机上的VMM(VirtualMachineMonitor,虚拟机监控器)创建用于处理对虚拟机的设备的I/O请求的处理线程,处理线程也可称之为I/O线程。在虚拟机的设备的I/O请求的处理过程中,物理机与虚拟机之间传输的数据可以通过Virtio框架完成。虚拟机的设备均可以称之为Virtio设备。请参考图2,其示出了根据本申请的请求处理方法的一个实施例的流程。该方法包括以下步骤:步骤201,响应于虚拟机启动,获取虚拟机的每一个设备的工作队列数量信息。在本实施例中,当虚拟机启动时,可以响应于虚拟机启动,分别获取虚拟机的每一个设备的工作队列数量信息。虚拟机的一个设备的工作队列可以为多个。虚拟机的一个设备对应的处理线程即I/O线程用于处理对该设备的访问请求即对该设备的I/O请求。虚拟机的一个设备的工作队列数量信息指示该设备对应的一个处理线程对应的虚拟机的设备的工作队列的数量,该设备对应的一个处理线程对应的虚拟机的设备的工作队列的数量可以为一个或多个。换言之,虚拟机的一个设备的工作队列数量信息指示该设备对应的一个处理线程用于处理多少个该设备的设备对象中的对于该设备的I/O请求。步骤202,基于虚拟机的每一个设备的工作队列数量信息,分别创建虚拟机的每一个设备对应的处理线程。在本实施例中,可以基于虚拟机的每一个设备的工作队列数量信息,分别创建虚拟机的每一个设备对应的处理线程。可以基于虚拟机的每一个设备的工作队列数量信息,利用VMM分别创建虚拟机的每一个设备各自对应的I/O线程。对于虚拟机的一个设备,当该设备的工作队列数量信息指示该设备对应的一个I/O线程绑定的设备的工作队列的数量为1个时,则可以创建与该设备的工作队列的数量相等的数量个该设备对应的I/O线程,该设备对应的每一个I/O线程分别用于对处理线程对应的工作队列中的对该设备的I/O请求进行处理。当该设备的工作队列数量信息指示设备对应的一个处理线程对应的虚拟机的设备的工作队列的数量为N个,N>1时,则创建多个I/O线程,每一个I/O线程绑定的该设备的工作对象的数量可以为N个。在本实施例中,在分别创建虚拟机的每一个设备对应的I/O线程之后,每一个设备各自对应的I/O线程可以用于处理各自的工作队列中的I/O请求。一个设备对应的I/O线程在处理工作队列中的I/O请求的过程中,可以采用轮询的方式访问各个工作队列,当某一个工作队列为空,或者I/O线程处理的某一个工作队列中的I/O请求的数量大于负载均衡阈值,则处理下一个工作队列中的I/O请求。在本实施例中,可以针对虚拟机的不同的设备,调整设备对应的一个I/O线程绑定的处理线程的数量,提升系统的I/O性能。在本实施例的一些可选的实现方式中,虚拟机的一个设备的工作队列数量信息中的数量可以为该设备的设备类型对应的预设数量。换言之,一个设备类型对应一个预设数量。每一个设备类型预先分别对应有一个数量。例如,网卡类型预先对应的数量为1个,对于虚拟机的所有网卡类型的设备即所有网卡,每一个网卡对应的一个I/O线程对应的虚拟机的设备的工作队列的数量均为1个。硬盘类型预先对应的数量为N个,N>1。对于一个虚拟机的每一个硬盘类型的设备即每一个硬盘,对应的一个I/O线程绑定的硬盘的工作队列的数量可以为N个。例如,一个设备为一个磁盘,该磁盘的工作队列的数量为9个,N=3,则可以创建该磁盘对应的3个I/O线程,每一个该磁盘对应的I/O线程分别绑定该磁盘的3个工作队列。在本实施例的一些可选的实现方式中,一个设备类型对应的预设数量信息通过预先测试确定。当确定一个设备类型对应的预设数量时,可以利用该设备类型的一个设备进行测试。对于每一个候选数量,每一次测试时根据候选数量,创建相应的数量的该设备类型的设备对应的I/O线程。在相同的预设测试条件下进行每一次测试。相同的预设测试条件可以本文档来自技高网...

【技术保护点】
1.一种请求处理方法,包括:响应于虚拟机启动,获取虚拟机的每一个设备的工作队列数量信息,工作队列数量信息指示虚拟机的设备对应的一个处理线程绑定的设备的工作队列的数量,所述数量为一个或多个;基于虚拟机的每一个设备的工作队列数量信息,分别创建所述虚拟机的每一个设备对应的处理线程,其中,虚拟机的设备对应的处理线程用于处理所述处理线程绑定的设备的工作队列中的对虚拟机的设备的访问请求。

【技术特征摘要】
1.一种请求处理方法,包括:响应于虚拟机启动,获取虚拟机的每一个设备的工作队列数量信息,工作队列数量信息指示虚拟机的设备对应的一个处理线程绑定的设备的工作队列的数量,所述数量为一个或多个;基于虚拟机的每一个设备的工作队列数量信息,分别创建所述虚拟机的每一个设备对应的处理线程,其中,虚拟机的设备对应的处理线程用于处理所述处理线程绑定的设备的工作队列中的对虚拟机的设备的访问请求。2.根据权利要求1所述的方法,虚拟机的工作队列数量信息指示的虚拟机的设备对应的一个处理线程绑定的设备的工作队列的数量为所述设备的设备类型对应的预设数量。3.根据权利要求2所述的方法,所述方法还包括:对于用于确定设备类型对应的预设数量的每一个候选数量,基于候选数量,创建所述设备类型的设备对应的处理线程;获取预设测试条件下所述设备的处理器利用率,以及将获取到的处理器利用率作为候选数量对应的处理器利用率,其中,创建的处理线程用于处理在预设测试条件下所述设备的工作队列中的对于所述设备的访问请求;将对应的处理器利用率最大的候选数量作为所述设备类型对应的预设数量。4.根据权利要求3所述的方法,所述方法还包括:接收配置指令,所述配置指令包括:设备类型标识、配置数量,配置指令基于用户的配置操作而生成;将所述配置数量作为具有所述设备类型标识的设备类型对应的预设数量。5.一种请求处理装置,包括:获取单元,被配置为响应于虚拟机启动,获取虚拟机的每一个设备的工作队列数量信息,工作队列数量信息指示虚拟机的设备对应的一个处理线程绑定的设备的工作队列的数量,所述数量为一个或多个...

【专利技术属性】
技术研发人员:谢永吉柴稳张宇
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1