一种存储性能测试方法、装置、介质和电子设备与流程

文档序号:32006034发布日期:2022-11-02 13:13阅读:83来源:国知局
一种存储性能测试方法、装置、介质和电子设备与流程

1.本技术涉及计算机技术领域,尤其涉及一种存储性能测试方法、装置、介质和电子设备。


背景技术:

2.随着社会的不断进步和计算机科学技术的飞速发展,计算机及软件在国民经济和社会生活等方面的应用越来越广泛和深入。伴随着软件功能越来越丰富,软件也越来越复杂。在保证软件质量、可靠性、性能方面面临巨大的挑战。特别是涉及数据海量存储方面,对于存储软件性能相当敏感。因此对于存储相关软件系统的性能测试评估和度量,是存储系统开发过程中非常重要的问题。
3.相关技术中,分布式文件存储性能测试过程中,性能测试场景多,又细分为块存储、文件存储、对象存储等细分场景,整个性能测试工作量大,而且数据结果分析周期长,对于项目交付进度和快速做软件性能评估影响大,存储性能测试的效率较低。


技术实现要素:

4.为解决现有存在的技术问题,本技术实施例提供了一种存储性能测试方法、装置、介质和电子设备,可以对存储系统进行全场景的性能测试,降低存储性能测试的耗时,提升存储性能测试的效率。
5.为达到上述目的,本技术实施例的技术方案是这样实现的:
6.第一方面,本技术实施例提供一种存储性能测试方法,包括:
7.获取待测存储系统的性能测试需求信息;
8.基于所述性能测试需求信息中预设的控制因子标识,提取测试控制因子;
9.基于所述测试控制因子和预置测试文件,生成业务配置模板;
10.基于所述业务配置模板,对所述待测存储系统进行性能测试,得到所述待测存储系统的测试结果。
11.本技术实施例的存储性能测试方法,通过获取待测存储系统的性能测试需求信息;基于所述性能测试需求信息中预设的控制因子标识,提取测试控制因子;基于所述测试控制因子和预置测试文件,生成业务配置模板;基于所述业务配置模板,对所述待测存储系统进行性能测试,得到所述待测存储系统的测试结果。该方法提供一种对分布式存储系统进行全场景的性能测试的机制,利用性能测试需求信息提取测试控制因子,并将测试控制因子与预置测试文件进行动态匹配生成业务配置模板,可以基于性能测试需求信息得到不同场景的性能测试的业务配置模板,实现对存储系统进行全场景的性能测试,能够降低性能测试的工作量,降低存储性能测试的耗时,提升存储性能测试的效率。
12.在一种可选的实施例中,所述测试控制因子包括测试机配置参数、存储类型参数、测试模型信息、性能压力参数;所述测试机配置参数为单客户端测试或多客户端测试;所述存储类型参数为块存储或文件存储;所述测试模型信息包括单个io操作请求数据的大小和
读取方式;所述性能压力参数包括单并发和多并发;所述基于所述测试控制因子和预置测试文件,生成业务配置模板,包括:
13.将以下各项的取值,根据预设顺序进行全组合,得到至少一个测试参数数值对:所述测试机配置参数、所述存储类型参数、所述单个io操作请求数据的大小、所述读取方式和所述性能压力参数;每个所述测试参数数值对中包括的所述测试机配置参数、所述存储类型参数、所述单个io操作请求数据的大小、所述读取方式和所述性能压力参数的数值均为一个;
14.逐一获取所述测试参数数值对,将获取的所述测试参数数值对包含的所述测试机配置参数、所述存储类型参数、所述单个io操作请求数据的大小、所述读取方式和所述性能压力参数的数值代入所述预置测试文件中,得到所述业务配置模板。
15.上述实施例的方法,测试控制因子包括测试机配置参数、存储类型参数、测试模型信息、性能压力参数;所述测试机配置参数为单客户端测试或多客户端测试;所述存储类型参数为块存储或文件存储;所述测试模型信息包括单个io操作请求数据的大小和读取方式;所述性能压力参数包括单并发和多并发;将以下各项的取值,根据预设顺序进行全组合,得到至少一个测试参数数值对:所述测试机配置参数、所述存储类型参数、所述单个io操作请求数据的大小、所述读取方式和所述性能压力参数;每个所述测试参数数值对中包括的所述测试机配置参数、所述存储类型参数、所述单个io操作请求数据的大小、所述读取方式和所述性能压力参数的数值均为一个;逐一获取所述测试参数数值对,将获取的所述测试参数数值对包含的所述测试机配置参数、所述存储类型参数、所述单个io操作请求数据的大小、所述读取方式和所述性能压力参数的数值代入所述预置测试文件中,得到所述业务配置模板。该方法,提供一种对分布式存储系统进行全场景的性能测试的机制,利用性能测试需求信息提取测试控制因子,并将测试控制因子与预置测试文件进行动态匹配生成业务配置模板,可以基于性能测试需求信息得到不同场景的性能测试的业务配置模板,能够适应单客户端测试和多客户端测试、块存储和文件存储、单并发和多并发的多种场景模式,实现对存储系统进行全场景的性能测试,且无需在不同场景测试时手动调整参数,能够减少性能测试的工作量,降低存储性能测试的耗时,提升存储性能测试的效率。
16.在一种可选的实施例中,所述预置测试文件包括测试机配置接口、存储类型接口、单个io大小接口、读取方式接口、性能压力参数接口;所述将获取的所述测试参数数值对包含的所述测试机配置参数、所述存储类型参数、所述单个io操作请求数据的大小、所述读取方式和所述性能压力参数的数值代入所述预置测试文件中,包括:
17.将获取的所述测试参数数值对包含的所述测试机配置参数的数值,赋值给所述测试机配置接口;
18.将获取的所述测试参数数值对包含的所述存储类型参数的数值,赋值给所述存储类型接口;
19.将获取的所述测试参数数值对包含的所述单个io操作请求数据的大小的数值,赋值给所述单个io大小接口;
20.将获取的所述测试参数数值对包含的所述读取方式的数值,赋值给所述读取方式接口;
21.将获取的所述测试参数数值对包含的所述性能压力参数的数值,赋值给所述性能
压力参数接口。
22.在一种可选的实施例中,所述基于所述业务配置模板,对所述待测存储系统进行性能测试之前,还包括:
23.预执行所述业务配置模板;
24.若所述业务配置模板预执行失败,则生成性能测试需求信息有误的告警信息。
25.上述实施例的方法,在对待测存储系统进行性能测试之前,预执行业务配置模板,若业务配置模板预执行失败,则生成性能测试需求信息有误的告警信息,可以减少业务配置模板在配置不正常时的无效测试,提升存储性能测试的效率。
26.在一种可选的实施例中,所述基于所述业务配置模板,对所述待测存储系统进行性能测试,得到所述待测存储系统的测试结果,包括:
27.基于所述业务配置模板,对所述待测存储系统进行性能测试,得到与所述业务配置模板对应测试结果文件;
28.对所述测试结果文件进行解析,生成所述待测存储系统的测试结果。
29.上述实施例的方法,基于所述业务配置模板,对所述待测存储系统进行性能测试,得到与所述业务配置模板对应测试结果文件;对所述测试结果文件进行解析,生成所述待测存储系统的测试结果,可以自动解析测试结果文件,输出测试结果,减少人工操作,实现测试结果的快速输出,进一步提升存储性能测试的效率。
30.在一种可选的实施例中,所述测试结果包括性能参数分析结果;所述性能参数分析结果包括以下各项的部分或全部:iops平均值、平均时延、平均带宽;所述基于所述业务配置模板,对所述待测存储系统进行性能测试,得到所述待测存储系统的测试结果之后,还包括:
31.响应于分析结果查询指令,基于所述性能参数分析结果,生成并显示性能参数分析数表;所述性能参数分析数表包括业务配置模板名称,以及对应的所述性能参数分析结果。
32.上述实施例的方法,还可以响应于分析结果查询指令,基于所述性能参数分析结果,生成并显示性能参数分析数表;所述性能参数分析数表包括业务配置模板名称,以及对应的所述性能参数分析结果,能够显著提升测试效率。
33.在一种可选的实施例中,所述测试结果还包括性能参数序列;所述性能参数序列为性能参数与测试时间的键值对;所述基于所述业务配置模板,对所述待测存储系统进行性能测试,得到所述待测存储系统的测试结果之后,还包括:
34.响应于波形图查询指令,基于所述性能参数序列,生成并显示测试波形图;所述测试波形图为所述性能参数相对于测试时间的变化曲线。
35.上述实施例的方法,还可以响应于波形图查询指令,基于所述性能参数序列,生成并显示测试波形图;所述测试波形图为所述性能参数相对于测试时间的变化曲线,能够快速生成测试波形图,显著提升测试效率。
36.第二方面,本技术实施例还提供了一种存储性能测试装置,包括:
37.前端文件读取单元,用于获取待测存储系统的性能测试需求信息;
38.控制因子提取单元,用于基于所述性能测试需求信息中预设的控制因子标识,提取测试控制因子;
39.测试程序生成单元,用于将所述测试控制因子代入到预置测试文件,生成业务配置模板;
40.性能测试执行单元,用于基于所述业务配置模板,对所述待测存储系统进行性能测试,得到所述待测存储系统的测试结果。
41.在一种可选的实施例中,所述测试控制因子包括测试机配置参数、存储类型参数、测试模型信息、性能压力参数;所述测试机配置参数为单客户端测试或多客户端测试;所述存储类型参数为块存储或文件存储;所述测试模型信息包括单个io操作请求数据的大小和读取方式;所述性能压力参数包括单并发和多并发;所述测试程序生成单元,具体用于:
42.将以下各项的取值,根据预设顺序进行全组合,得到至少一个测试参数数值对:所述测试机配置参数、所述存储类型参数、所述单个io操作请求数据的大小、所述读取方式和所述性能压力参数;每个所述测试参数数值对中包括的所述测试机配置参数、所述存储类型参数、所述单个io操作请求数据的大小、所述读取方式和所述性能压力参数的数值均为一个;
43.逐一获取所述测试参数数值对,将获取的所述测试参数数值对包含的所述测试机配置参数、所述存储类型参数、所述单个io操作请求数据的大小、所述读取方式和所述性能压力参数的数值代入所述预置测试文件中,得到所述业务配置模板。
44.在一种可选的实施例中,所述预置测试文件包括测试机配置接口、存储类型接口、单个io大小接口、读取方式接口、性能压力参数接口;所述测试程序生成单元,具体用于:
45.将获取的所述测试参数数值对包含的所述测试机配置参数的数值,赋值给所述测试机配置接口;
46.将获取的所述测试参数数值对包含的所述存储类型参数的数值,赋值给所述存储类型接口;
47.将获取的所述测试参数数值对包含的所述单个io操作请求数据的大小的数值,赋值给所述单个io大小接口;
48.将获取的所述测试参数数值对包含的所述读取方式的数值,赋值给所述读取方式接口;
49.将获取的所述测试参数数值对包含的所述性能压力参数的数值,赋值给所述性能压力参数接口。
50.在一种可选的实施例中,所述装置还包括程序预执行单元,所述程序预执行单元用于:
51.预执行所述业务配置模板;
52.若所述业务配置模板预执行失败,则生成性能测试需求信息有误的告警信息。
53.在一种可选的实施例中,所述性能测试执行单元,具体用于:
54.基于所述业务配置模板,对所述待测存储系统进行性能测试,得到与所述业务配置模板对应测试结果文件;
55.对所述测试结果文件进行解析,生成所述待测存储系统的测试结果。
56.在一种可选的实施例中,所述测试结果包括性能参数分析结果;所述性能参数分析结果包括以下各项的部分或全部:iops平均值、平均时延、平均带宽;所述装置还包括第一结果显示单元,所述第一结果显示单元用于:
57.响应于分析结果查询指令,基于所述性能参数分析结果,生成并显示性能参数分析数表;所述性能参数分析数表包括业务配置模板名称,以及对应的所述性能参数分析结果。
58.在一种可选的实施例中,所述测试结果还包括性能参数序列;所述性能参数序列为性能参数与测试时间的键值对;所述装置还包括第二结果显示单元,所述第二结果显示单元用于:
59.响应于波形图查询指令,基于所述性能参数序列,生成并显示测试波形图;所述测试波形图为所述性能参数相对于测试时间的变化曲线。
60.第三方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面的存储性能测试方法。
61.第四方面,本技术实施例还提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现第一方面的存储性能测试方法。
62.第五方面,本技术实施例一种计算机程序产品,其包括计算机指令,所述计算机指令存储在计算机可读存储介质中;当计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令时,所述处理器执行该计算机指令,使得所述计算机设备执行第一方面的存储性能测试方法的步骤。
63.第二方面至第五方面中任意一种实现方式所带来的技术效果可参见第一方面中对应的实现方式所带来的技术效果,此处不再赘述。
附图说明
64.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
65.图1为本技术实施例提供的一种存储性能测试方法的流程图;
66.图2为本技术实施例提供的另一种存储性能测试方法的流程图;
67.图3为本技术实施例提供的一种存储性能测试方法的测试波形图的示意图;
68.图4为本技术实施例提供的一种存储性能测试装置的结构示意图;
69.图5为本技术实施例提供的一种可以预执行检查的存储性能测试装置的结构示意图;
70.图6为本技术实施例提供的一种可以显示结果数据的存储性能测试装置的结构示意图;
71.图7为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
72.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施
例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
73.需要说明的是,本技术的文件中涉及的术语“包括”和“具有”以及它们的变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
74.下面对文中出现的一些词语进行解释:
75.(1)、单个io操作请求数据的大小(io chunk size):单个io操作请求数据的大小是指一次io操作请求的数据的大小。一次io操作是指从发出io请求到返回数据的过程。操作系统为了提高io的性能,会根据请求数据的情况将多个来自io的请求先放在缓存里面,然后再一次性的提交给磁盘,也就是对于数据库发出的多个固定大小的数据块的读操作放在一个磁盘读io里去处理。对于存储系统,也可以接收到操作系统的io请求之后将多个操作系统的io请求合并成一个来处理。
76.(2)、iops(io per second,每秒进行读写操作的次数):iops是指io系统每秒所执行io操作的次数,是一个重要的用来衡量系统io能力的一个参数。
77.随着社会的不断进步和计算机科学技术的飞速发展,计算机及软件在国民经济和社会生活等方面的应用越来越广泛和深入。伴随着软件功能越来越丰富,软件也越来越复杂。在保证软件质量、可靠性、性能方面面临巨大的挑战。特别是涉及数据海量存储方面,对于存储软件性能相当敏感。因此对于存储相关软件系统的性能测试评估和度量,是存储系统开发过程中非常重要的问题。
78.相关技术中,分布式文件存储性能测试过程中,性能测试场景多,又细分为块存储、文件存储、对象存储等细分场景,整个性能测试工作量大,而且数据结果分析周期长,对于项目交付进度和快速做软件性能评估影响大,存储性能测试的效率较低。
79.为解决现有存在的技术问题,本技术实施例提供了一种存储性能测试方法,通过获取待测存储系统的性能测试需求信息;基于性能测试需求信息中预设的控制因子标识,提取测试控制因子;基于测试控制因子和预置测试文件,生成业务配置模板;基于业务配置模板,对待测存储系统进行性能测试,得到待测存储系统的测试结果。该方法提供一种对分布式存储系统进行全场景的性能测试的机制,利用性能测试需求信息提取测试控制因子,并将测试控制因子与预置测试文件进行动态匹配生成业务配置模板,可以基于性能测试需求信息得到不同场景的性能测试的业务配置模板,实现对存储系统进行全场景的性能测试,能够降低性能测试的工作量,降低存储性能测试的耗时,提升存储性能测试的效率。
80.下面将结合附图,对本技术实施例提供的技术方案进行详细说明。
81.本技术实施例提供了一种存储性能测试方法,如图1所示,包括如下步骤:
82.步骤s101,获取待测存储系统的性能测试需求信息。
83.在本技术的一些实施例中,在步骤s101之前,可以先基于用户的初始化命令,一键化执行对测试机的预处理。其中,测试机的预处理包括测试机间的互信配置、工具部署。测试机间的互信配置,包括设置测试机间通讯的密钥信息等。工具部署,包括在选定的测试机上部署测试工具的运行环境,例如部署vdbench工具的运行环境。
84.示例性地,假定性能测试需求信息为q_t_n,获取的待测试存储系统的性能测试需
求信息q_t_n可以如表1所示。
85.表1
[0086][0087]
步骤s102,基于性能测试需求信息中预设的控制因子标识,提取测试控制因子。
[0088]
具体实施时,测试控制因子的数量可以是多种类型。每种类型的测试控制因子具有对应的预设的一个或多个控制因子标识。每种类型的测试控制因子可以是一个数值,也可以是多个数值。
[0089]
示例性地,基于性能测试需求信息中预设的控制因子标识,提取测试控制因子test_cont_ce。
[0090]
步骤s103,基于测试控制因子和预置测试文件,生成业务配置模板。
[0091]
在一种可选的实施例中,测试控制因子包括测试机配置参数、存储类型参数、测试模型信息、性能压力参数;测试机配置参数为单客户端测试或多客户端测试;存储类型参数为块存储或文件存储;测试模型信息包括单个io操作请求数据的大小和读取方式;性能压
力参数包括单并发和多并发;基于测试控制因子和预置测试文件,生成业务配置模板,可以如图2所示,包括以下步骤:
[0092]
步骤s201,将以下各项的取值,根据预设顺序进行全组合,得到至少一个测试参数数值对:测试机配置参数、存储类型参数、单个io操作请求数据的大小、读取方式和性能压力参数。
[0093]
其中,每个测试参数数值对中包括的测试机配置参数、存储类型参数、单个io操作请求数据的大小、读取方式和性能压力参数的数值均为一个。
[0094]
示例性地,测试控制因子test_cont_ce包括测试机配置参数test_ma_info、存储类型参数sto_ty_info、测试模型信息test_mold_info、性能压力参数property_pre_info;测试机配置参数test_ma_info的取值可以为单客户端测试或多客户端测试;存储类型参数sto_ty_info的取值可以为块存储或文件存储;测试模型信息test_mold_info包括单个io操作请求数据的大小io_size和读取方式io_type;性能压力参数property_pre_info包括单并发和多并发。假定“testmachine”是与测试机配置参数test_ma_info对应的预设的控制因子标识;“功能说明”是与存储类型参数sto_ty_info对应的预设的控制因子标识;“随机io业务模型”“顺序io业务模型”与单个io操作请求数据的大小io_size和读取方式io_type对应的预设的控制因子标识;“iod”是与性能压力参数property_pre_info对应的预设的控制因子标识。根据上述的控制因子标识和表1所示的性能测试需求信息q_t_n,可以得到:测试机配置参数test_ma_info的取值为“single”,表征为单客户端测试;存储类型参数sto_ty_info的取值为“块存储”;单个io操作请求数据的大小io_size的取值为(

4k’,

8k’,

32k’,

64k’,

256k’),与io_size(

4k’,

8k’,

32k’,

64k’,

256k’)对应的读取方式io_type的取值为“bs”,表征为随机读写;性能压力参数property_pre_info的取值为(1,128),其中,“1”表示单并发的数量,“128”表示多并发的数量。
[0095]
将测试机配置参数test_ma_info、存储类型参数sto_ty_info、单个io操作请求数据的大小io_size、读取方式io_type和性能压力参数property_pre_info的取值,根据预设顺序进行全组合,得到至少一个测试参数数值对,例如可以如表2所示。
[0096]
表2
[0097][0098]
由表2可以看到,根据预设顺序进行全组合,得到10测试参数数值对,例如:(single,块存储,4k,bs,1),(single,块存储,4k,bs,128)。
[0099]
步骤s202,逐一获取测试参数数值对,将获取的测试参数数值对包含的测试机配置参数、存储类型参数、单个io操作请求数据的大小、读取方式和性能压力参数的数值代入预置测试文件中,得到业务配置模板。
[0100]
示例性地,逐一获取表2所示的测试参数数值对,将获取的测试参数数值对包含的测试机配置参数、存储类型参数、单个io操作请求数据的大小、读取方式和性能压力参数的数值代入预置测试文件中,得到业务配置模板。这样可以每代入预置测试文件中1次,就得到1个业务配置模板,也即可以共得到10个业务配置模板。本技术的实施例中,没得到一个业务配置模板,就基于得到的业务配置模板对待测存储系统进行性能测试,得到待测存储系统的测试结果。各个测试结果可以按照结果存放路径进行统一存储。结果存放路径可以是如表1所示的

/home/vdbench50407/perftest’。
[0101]
在本技术的其它一些实施例中,测试模型信息还可以包括除了单个io操作请求数据的大小和读取方式之外的存储性能测试时常用的其它参数因子,例如可以包括缓存命中率。
[0102]
在一种可选的实施例中,预置测试文件包括测试机配置接口、存储类型接口、单个io大小接口、读取方式接口、性能压力参数接口;将获取的测试参数数值对包含的测试机配置参数、存储类型参数、单个io操作请求数据的大小、读取方式和性能压力参数的数值代入预置测试文件中,包括:
[0103]
将获取的测试参数数值对包含的测试机配置参数的数值,赋值给测试机配置接口;
[0104]
将获取的测试参数数值对包含的存储类型参数的数值,赋值给存储类型接口;
[0105]
将获取的测试参数数值对包含的单个io操作请求数据的大小的数值,赋值给单个io大小接口;
[0106]
将获取的测试参数数值对包含的读取方式的数值,赋值给读取方式接口;
[0107]
将获取的测试参数数值对包含的性能压力参数的数值,赋值给性能压力参数接口。
[0108]
在一种可选的实施例中,在得到业务配置模板之后,基于业务配置模板,预执行业务配置模板;若业务配置模板预执行失败,则生成性能测试需求信息有误的告警信息。
[0109]
步骤s104,基于业务配置模板,对待测存储系统进行性能测试,得到待测存储系统的测试结果。
[0110]
在一种可选的实施例中,基于业务配置模板,对待测存储系统进行性能测试,得到待测存储系统的测试结果,包括:
[0111]
步骤a1,基于业务配置模板,对待测存储系统进行性能测试,得到与业务配置模板对应测试结果文件。
[0112]
示例性地,基于通过逐一获取表2所示的测试参数数值对得到的10个业务配置模板,对待测存储系统进行性能测试,得到与该10业务配置模板对应测试结果文件,可以如表3所示。
[0113]
表3
[0114][0115]
由表3可见,后缀为“.cxt”的10个文件为业务配置模板,后缀为“.html”的10个文件为与该10个业务配置模板一一对应的测试结果文件。
[0116]
步骤a2,对测试结果文件进行解析,生成待测存储系统的测试结果。
[0117]
具体实施时,可以通过预设的数据收集脚本工具,对测试结果文件进行解析,生成待测存储系统的测试结果。
[0118]
本技术的实施例中,生成的待测存储系统的测试结果可以是csv文件。
[0119]
示例性地,通过数据收集脚本工具,对表3示出的10个测试结果文件进行解析,生成待测存储系统的测试结果。例如得到名称为result.csv和statistics.csv的两个文件。
[0120]
在一种可选的实施例中,测试结果包括性能参数分析结果;性能参数分析结果包括以下各项的部分或全部:iops平均值、平均时延、平均带宽;基于业务配置模板,对待测存储系统进行性能测试,得到待测存储系统的测试结果之后,还包括:
[0121]
响应于分析结果查询指令,基于性能参数分析结果,生成并显示性能参数分析数表;性能参数分析数表包括业务配置模板名称,以及对应的性能参数分析结果。
[0122]
示例性地,显示的性能参数分析数表,可以如表4所示。
[0123]
表4
[0124]
测试结果文件iops平均值平均时延平均带宽summary_perf_test_4k_1_randomread.html4434.91108.7328.864summary_perf_test_4k_128_randomread.html24390.4762.25.245summary_perf_test_8k_1_randomread.html24550.195.95.211
…………
[0125]
在一种可选的实施例中,测试结果还包括性能参数序列;性能参数序列为性能参数与测试时间的键值对;基于业务配置模板,对待测存储系统进行性能测试,得到待测存储系统的测试结果之后,还包括:
[0126]
响应于波形图查询指令,基于性能参数序列,生成并显示测试波形图;测试波形图为性能参数相对于测试时间的变化曲线。
[0127]
示例性地,本技术一个实施例得到的测试波形图可以如图3所示。其中whpct代表缓存命中率。
[0128]
上述实施例的存储性能测试方法,通过获取待测存储系统的性能测试需求信息;基于性能测试需求信息中预设的控制因子标识,提取测试控制因子;基于测试控制因子和预置测试文件,生成业务配置模板;基于业务配置模板,对待测存储系统进行性能测试,得到待测存储系统的测试结果。该方法提供一种对分布式存储系统进行全场景的性能测试的机制,利用性能测试需求信息提取测试控制因子,并将测试控制因子与预置测试文件进行动态匹配生成业务配置模板,可以基于性能测试需求信息得到不同场景的性能测试的业务配置模板,实现对存储系统进行全场景的性能测试,能够降低性能测试的工作量,降低存储性能测试的耗时,提升存储性能测试的效率。
[0129]
与图1所示的存储性能测试方法基于同一发明构思,本技术实施例中还提供了一种存储性能测试装置。由于该装置是本技术图1所示的存储性能测试方法对应的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见图1所示的上述方法的实施,重复之处不再赘述。
[0130]
图4示出了本技术实施例提供的一种存储性能测试装置的结构示意图,如图4所示,该存储性能测试装置包括前端文件读取单元401、控制因子提取单元402、测试程序生成单元403和性能测试执行单元404。
[0131]
其中,前端文件读取单元401,用于获取待测存储系统的性能测试需求信息;
[0132]
控制因子提取单元402,用于基于性能测试需求信息中预设的控制因子标识,提取测试控制因子;
[0133]
测试程序生成单元403,用于将测试控制因子代入到预置测试文件,生成业务配置模板;
[0134]
性能测试执行单元404,用于基于业务配置模板,对待测存储系统进行性能测试,得到待测存储系统的测试结果。
[0135]
在一种可选的实施例中,测试控制因子包括测试机配置参数、存储类型参数、测试模型信息、性能压力参数;测试机配置参数为单客户端测试或多客户端测试;存储类型参数为块存储或文件存储;测试模型信息包括单个io操作请求数据的大小和读取方式;性能压
力参数包括单并发和多并发;测试程序生成单元403,具体用于:
[0136]
将以下各项的取值,根据预设顺序进行全组合,得到至少一个测试参数数值对:测试机配置参数、存储类型参数、单个io操作请求数据的大小、读取方式和性能压力参数;每个测试参数数值对中包括的测试机配置参数、存储类型参数、单个io操作请求数据的大小、读取方式和性能压力参数的数值均为一个;
[0137]
逐一获取测试参数数值对,将获取的测试参数数值对包含的测试机配置参数、存储类型参数、单个io操作请求数据的大小、读取方式和性能压力参数的数值代入预置测试文件中,得到业务配置模板。
[0138]
在一种可选的实施例中,预置测试文件包括测试机配置接口、存储类型接口、单个io大小接口、读取方式接口、性能压力参数接口;测试程序生成单元403,具体用于:
[0139]
将获取的测试参数数值对包含的测试机配置参数的数值,赋值给测试机配置接口;
[0140]
将获取的测试参数数值对包含的存储类型参数的数值,赋值给存储类型接口;
[0141]
将获取的测试参数数值对包含的单个io操作请求数据的大小的数值,赋值给单个io大小接口;
[0142]
将获取的测试参数数值对包含的读取方式的数值,赋值给读取方式接口;
[0143]
将获取的测试参数数值对包含的性能压力参数的数值,赋值给性能压力参数接口。
[0144]
在一种可选的实施例中,如图5所示,装置还包括程序预执行单元501,程序预执行单元501用于:
[0145]
预执行业务配置模板;
[0146]
若业务配置模板预执行失败,则生成性能测试需求信息有误的告警信息。
[0147]
在一种可选的实施例中,性能测试执行单元404,具体用于:
[0148]
基于业务配置模板,对待测存储系统进行性能测试,得到与业务配置模板对应测试结果文件;
[0149]
对测试结果文件进行解析,生成待测存储系统的测试结果。
[0150]
在一种可选的实施例中,测试结果包括性能参数分析结果;性能参数分析结果包括以下各项的部分或全部:iops平均值、平均时延、平均带宽;如图6所示,装置还包括第一结果显示单元601,第一结果显示单元601用于:
[0151]
响应于分析结果查询指令,基于性能参数分析结果,生成并显示性能参数分析数表;性能参数分析数表包括业务配置模板名称,以及对应的性能参数分析结果。
[0152]
在一种可选的实施例中,测试结果还包括性能参数序列;性能参数序列为性能参数与测试时间的键值对;装置还包括第二结果显示单元602,第二结果显示单元602用于:
[0153]
响应于波形图查询指令,基于性能参数序列,生成并显示测试波形图;测试波形图为性能参数相对于测试时间的变化曲线。
[0154]
与上述方法实施例基于同一发明构思,本技术实施例中还提供了一种电子设备。在一些可能的实施方式中,根据本发明的电子设备可以如图7所示,包括存储器701,通讯模块703以及一个或多个处理器702。其中,
[0155]
存储器701,用于存储处理器702执行的计算机程序。存储器701上存储有可在处理
器上运行的计算机程序,当计算机程序被处理器执行时,使得处理器执行本说明书上述描述的根据本发明各种示例性实施方式的存储性能测试方法中的步骤。例如,处理器可以执行如图1中所示的步骤s101-s104。存储器701可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
[0156]
存储器701可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器701也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)、或者存储器701是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器701可以是上述存储器的组合。
[0157]
处理器702,可以包括一个或多个中央处理单元(central processing unit,cpu)或者为数字处理单元等等。处理器702,用于调用存储器701中存储的计算机程序时实现上述存储性能测试方法。
[0158]
通讯模块703用于与终端设备和其他服务器进行通信。
[0159]
本技术实施例中不限定上述存储器701、通讯模块703和处理器702之间的具体连接介质。本公开实施例在图7中以存储器701和处理器702之间通过总线704连接,总线704在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0160]
本技术实施例还提供了一种计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本技术任一实施例的存储性能测试方法。
[0161]
根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的存储性能测试方法。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0162]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1