一种云主机中磁盘I/O极限性能测试方法和装置制造方法及图纸

技术编号:38247434 阅读:16 留言:0更新日期:2023-07-25 18:07
本发明专利技术公开了一种云主机中磁盘I/O极限性能测试方法和装置,涉及云主机性能测试领域,包括:S1控制节点创建目标云主机种群;S2计算节点启动目标云主机种群,执行搜索操作,所述搜索操作用于得到最佳参数组合,根据所述最佳参数组合测出磁盘I/O极限存储性能;S3控制节点删除目标云主机种群。该方法有效解决了靠人为调参的方式导致的耗时耗力问题以及靠人为调参的方式导致的测试结果可信度低、可靠性差的问题,进而实现了快速准确测试云主机中磁盘I/O极限存储性能,有助于云主机中磁盘I/O极限性能调优、文件系统I/O极限性能测试和性能调优、性能损耗分析、存储虚拟化调优等。该测试装置具有可移植性好、简单易用的优点。简单易用的优点。简单易用的优点。

【技术实现步骤摘要】
一种云主机中磁盘I/O极限性能测试方法和装置


[0001]本专利技术涉及云主机性能测试领域,尤其涉及一种云主机中磁盘I/O极限性能测试方法和装置。

技术介绍

[0002]云计算作为计算机网络领域的一次革命,正在深刻的改变社会的工作方式和商业模式。信息时代的数据呈指数级增长,对重要数据进行持久化显得尤为重要,这对云计算场景下的存储提出了更高的要求。虚拟化是云计算发展的基础,CPU可虚拟化、内存可虚拟化,存储也有对应虚拟化技术——存储虚拟化。存储虚拟化使存储设备能够转换为逻辑数据存储。数据存储是类似于文件系统的逻辑容器,隐藏了每个存储设备的特性,形成一个统一的模型,为云主机提供磁盘。存储虚拟化技术帮助系统管理存储资源,提高资源利用率和灵活性。计算、存储、网络、安全是云计算四个重要组成部分,为了衡量云计算中存储性能,通常的做法是使用主流的测试工具如Fio、iometer等对磁盘或文件系统进行读写测试。IOPS和带宽(Band Width,简称BW)是衡量磁盘性能的两个重要指标。IOPS是指单位时间内系统能够处理的I/O请求数量,I/O请求通常为读或写数据操作请求。BW是指单位时间内可以成功传输的数据量。对于随机读写频繁的应用如OLTP(Online Transaction Processing),IOPS是关键衡量指标,对于大量顺序读写的应用如VOD(Video On Demand),则更关注BW。
[0003]Fio是一款开源的I/O压力测试工具,主要用于测试磁盘或文件系统的I/O性能。它可以支持13种不同的I/O引擎,包括sync、mmap、libaio等,在Linux系统中具有简单易用的特点。然而,在实际项目应用中,我们发现Fio的两个参数numjobs和iodepth对性能指标IOPS和BW影响很大,不同的参数组合会导致不同的IOPS和BW。在很多应用中,更关注磁盘或文件系统I/O的平均IOPS和BW的最大值(极限性能),用以衡量磁盘或文件系统的极限性能,这就需要找出最佳的numjobs和iodepth参数组合。由上述可知,获取最佳参数组合并非易事。一方面,如果靠人为调参的方式,需要重复成百上千次,这将耗费大量的时间和精力;另一方面,不同的场景中,最佳参数组合有所不同,积累的经验不一定适用,测得的IOPS和BW很可能是局部最大值,而非全局最大IOPS和BW,导致测试结果可信度低、可靠性差。

技术实现思路

[0004]本申请实施例通过提供一种云主机中磁盘I/O极限性能测试方法和装置,解决了现有技术中耗时耗力、测试结果可信度低、可靠性差的问题,实现了快速准确的测试云主机中磁盘I/O极限性能,有助于云主机中磁盘I/O极限性能调优、文件系统I/O极限性能测试和性能调优、性能损耗分析、存储虚拟化调优等。
[0005]为实现以上目的,本专利技术通过以下技术方案予以实现:一种云主机中磁盘I/O极限性能测试方法,包括:
[0006]所述方法是按如下步骤进行:
[0007]S1:控制节点创建目标云主机种群;
[0008]S2:计算节点启动目标云主机种群,执行搜索操作,所述搜索操作用于得到最佳参数组合,根据所述最佳参数组合测出磁盘I/O极限存储性能;
[0009]S3:控制节点删除目标云主机种群。
[0010]进一步地,所述目标云主机种群为N
p
个目标云主机的个体,所述目标云主机的个体为目标云主机的基因组合,所述目标云主机的基因为目标云主机的numjobs和iodepth参数,所述目标云主机种群的云主机处于同一网段,云主机挂载的磁盘大小和类型一致,ssh彼此连通;
[0011]所述控制节点为第0号节点,负责对其余节点的控制,包含目标云主机的建立和删除;
[0012]所述计算节点负责目标云主机运行。
[0013]进一步地,所述S2的具体执行步骤如下:
[0014]S31:在第0号目标云主机上执行Fio命令,实时观察IOPS和BW稳定下来的时间以确定参数runtime和ramp_time,并用于后续的磁盘I/O存储性能测试中;
[0015]S32:在目标云主机种群中根据差分进化算法(Differential Evolution Algorithm,DE)执行搜索操作,返回最佳参数组合,并输出最大IOPS和BW,所述IOPS和BW是衡量磁盘I/O存储性能的重要指标。
[0016]进一步地,所述Fio是一款开源的I/O压力测试工具,主要用于测试磁盘或文件系统的I/O存储性能;
[0017]所述IOPS指单位时间内系统能够处理的I/O请求数量,是随机读写频繁的应用性能优劣的关键衡量指标;
[0018]所述BW指单位时间内可以成功传输的数据量,是大量顺序读写应用性能的关注点。
[0019]进一步地,所述S32的具体执行步骤如下:
[0020]S51:初始化操作,确定边界公式,在控制节点上执行测试脚本,通过初始化公式得到N
p
个个体,再将1~N
p
个个体嵌入到Fio命令中得到N
p
条命令,将N
p
条命令分别通过ssh传送到1~N
p
号云主机中执行,执行结束后将N
p
个结果ssh回控制节点得到Ω(x
i
(0));
[0021]S52:变异操作,在控制节点上通过变异公式产生第g代变异种群,若变异个体的基因不符合边界要求,则通过初始化公式重新生成基因;
[0022]S53:交叉操作,在控制节点上通过交叉公式产生第g代交叉后的种群,得到N
p
个变异个体,将N
p
个变异个体嵌入到Fio命令中得到N
p
条测试命令,并分别通过ssh传送到1~N
p
号云主机中执行,执行结束后将N
p
个结果ssh回0号云主机得到Ω(u
i
(g));
[0023]S54:选择操作,在控制节点上通过选择公式选择第g+1代种群中的个体,并根据判断公式判断是否终止搜索,如果终止搜索,则执行S55,否则返回S52,对g+1代重新依次执行S52~S54;
[0024]S55:返回最佳参数组合,并输出最大IOPS和BW;
[0025]S56:对read、write、randread、randwrite四种模式,依次执行上述S51

S55步,根据输出的最大IOPS和BW获得云主机中磁盘I/O极限存储性能。
[0026]进一步地,所述S51中边界公式为:
[0027]定义N
p
台目标云主机,目标云主机的基因为所述目标云主机的numjobs和iodepth
参数,由x代替numjobs和iodepth,记为x
i,j
(g),g为种群的代数;
[0028]所述目标云主机的个体为目标云主机的基因组合,记为x
i...

【技术保护点】

【技术特征摘要】
1.一种云主机中磁盘I/O极限性能测试方法,其特征在于,所述方法是按如下步骤进行:S1:控制节点创建目标云主机种群;S2:计算节点启动目标云主机种群,执行搜索操作,所述搜索操作用于得到最佳参数组合,根据所述最佳参数组合测出磁盘I/O极限存储性能;S3:控制节点删除目标云主机种群。2.如权利要求1所述的一种云主机中磁盘I/O极限性能测试方法,其特征在于,所述目标云主机种群为N
p
个目标云主机的个体,所述目标云主机的个体为目标云主机的基因组合,所述目标云主机的基因为目标云主机的numjobs和iodepth参数,所述目标云主机种群的云主机处于同一网段,云主机挂载的磁盘大小和类型一致,ssh彼此连通;所述控制节点为第0号节点,负责对其余节点的控制,包含目标云主机的建立和删除;所述计算节点负责目标云主机运行。3.如权利要求1所述的一种云主机中磁盘I/O极限性能测试方法,其特征在于,所述S2的具体执行步骤如下:S31:在第0号目标云主机上执行Fio命令,实时观察IOPS和BW稳定下来的时间以确定参数runtime和ramp_time,并用于后续的磁盘I/O存储性能测试中;S32:在目标云主机种群中根据差分进化算法执行搜索操作,返回最佳参数组合,并输出最大IOPS和带宽,所述IOPS和带宽是衡量磁盘I/O存储性能的重要指标。4.如权利要求3所述的一种云主机中磁盘I/O极限性能测试方法,其特征在于,所述Fio是一款开源的I/O压力测试工具,主要用于测试磁盘或文件系统的I/O存储性能;所述IOPS指单位时间内系统能够处理的I/O请求数量,是随机读写频繁的应用性能优劣的关键衡量指标;所述带宽指单位时间内可以成功传输的数据量,是大量顺序读写应用性能的关注点。5.如权利要求3所述的一种云主机中磁盘I/O极限性能测试方法,其特征在于,所述S32的具体执行步骤如下:S51:初始化操作,确定边界公式,在控制节点上执行测试脚本,通过初始化公式得到N
p
个个体,再将1~N
p
个个体嵌入到Fio命令中得到N
p
条命令,将N
p
条命令分别通过ssh传送到1~N
p
号云主机中执行,执行结束后将N
p
个结果ssh回控制节点得到Ω(x
i
(0));S52:变异操作,在控制节点上通过变异公式产生第g代变异种群,若变异个体的基因不符合边界要求,则通过初始化公式重新生成基因;S53:交叉操作,在控制节点上通过交叉公式产生第g代交叉后的种群,得到N
p
个变异个体,将N
p
个变异个体嵌入到Fio命令中得到N
p
条测试命令,并分别通过ssh传送到1~N
p
号云主机中执行,执行结束后将N
p
个结果ssh回0号云主机得到Ω(u
i
(g));S54:选择操作,在控制节点上通过选择公式选择第g+1代种群中的个体,并根据判断公式判断是否终止搜索,如果终止搜索,则执行S55,否则返回S52,对g+1代重新依次执行S52~S54;S55:返回最佳参数组合,并输出最大IOPS和带宽;S56:对read、write、randread、randwrite四种模式,依次执行上述S51

S55步,根据输出的最大IOPS和带宽获得云主机中磁盘I/O极限存储性能。
6.如权利要求5所述的一种云主机中磁盘I/O极限性能测试方法,其特征在于,所述S51中边界公式为:定义N
p
台目标云主机,目标云主机的基因为所述目标云主机的numjobs和...

【专利技术属性】
技术研发人员:陈玉豪黄利民张瑜萍王培海林玉龙徐福贵
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1