一种压力测试方法、系统、设备及存储介质与流程
- 国知局
- 2024-09-11 14:52:02
本发明涉及存储测试,特别是涉及一种压力测试方法、系统、设备及存储介质。
背景技术:
1、随着存储技术的不断发展,对于存储设备的性能测试已经成为一个必要且重要的环节。目前,通常是使用fio(flexible i/o tester,灵活io测试)工具进行存储设备的性能测试,fio工具是一个开源的i/o(input/output,输入输出)压力测试工具,被广泛应用于各类存储设备的性能评估。
2、然而,在使用fio工具进行io压力测试时,用户只能查看测试完成后所得到的最终结果,进而进行数据分析,无法实时查看io压力测试过程中的性能表现,使得用户无法在测试过程中及时发现和解决潜在的性能问题。
3、综上所述,如何有效地实现io压力测试,并且用户能够查看设备在io压力测试过程中的性能表现,是目前本领域技术人员急需解决的技术问题。
技术实现思路
1、本发明的目的是提供一种压力测试方法、系统、设备及存储介质,以有效地实现压力测试,并且用户能够查看设备在压力测试过程中的性能表现。
2、为解决上述技术问题,本发明提供如下技术方案:
3、第一方面,本发明提供了一种压力测试方法,包括:
4、在输入输出压力测试工具被部署在待测试设备上部署之后,设置所述输入输出压力测试工具的配置文件;
5、在目标程序开始运行,并且确定所述输入输出压力测试工具的路径以及所述配置文件的路径之后,在所述目标程序中以协程的形式运行所述输入输出压力测试工具,以通过所述输入输出压力测试工具,按照所述配置文件对所述待测试设备进行输入输出压力测试;
6、在所述输入输出压力测试工具的运行过程中,在每个采集时刻,采集所述输入输出压力测试工具的输出数据并进行解析,得到解析结果;
7、输出所述解析结果。
8、另一方面,在设置所述输入输出压力测试工具的配置文件之后,还包括:
9、将所述输入输出压力测试工具的路径添加到环境变量中;
10、在目标程序开始运行,并且确定所述输入输出压力测试工具的路径以及所述配置文件的路径之后,在所述目标程序中以协程的形式运行所述输入输出压力测试工具,以通过所述输入输出压力测试工具,按照所述配置文件对所述待测试设备进行输入输出压力测试,包括:
11、在目标程序开始运行之后,所述目标程序对自身所使用的命令行参数进行解析,得到命令行参数解析结果;
12、当所述命令行参数解析结果中存在所述输入输出压力测试工具的路径时,所述目标程序基于所述命令行参数解析结果中的所述输入输出压力测试工具的路径以及所述配置文件的路径,在所述目标程序中以协程的形式运行所述输入输出压力测试工具,以通过所述输入输出压力测试工具,按照所述配置文件对所述待测试设备进行输入输出压力测试;
13、当所述命令行参数解析结果中不存在所述输入输出压力测试工具的路径时,所述目标程序基于从所述环境变量中获取的所述输入输出压力测试工具的路径以及所述命令行参数解析结果中的所述配置文件的路径,在所述目标程序中以协程的形式运行所述输入输出压力测试工具,以通过所述输入输出压力测试工具,按照所述配置文件对所述待测试设备进行输入输出压力测试。
14、另一方面,在所述输入输出压力测试工具的运行过程中,在每个采集时刻,采集所述输入输出压力测试工具的输出数据并进行解析,得到解析结果,包括:
15、在所述输入输出压力测试工具的运行过程中,按照设定的数据采集间隔进行采集,并且在每个采集时刻,采集所述输入输出压力测试工具的输出管道的输出数据;
16、每当采集到所述输入输出压力测试工具的输出管道的所述输出数据时,以行为单位进行逐行处理;
17、在处理任意一行的所述输出数据时,按照该行的所述输出数据中的分隔符对该行的所述输出数据进行分割,得到分割后的各个字段;
18、在处理任意一行的所述输出数据时,判断所分割出的字段数量是否符合预设的字段数量预期值;
19、如果否,则停止本次压力测试并执行预设的报错操作;
20、如果是,则按照所分割出的字段编码,提取所指定的各个字段并舍弃未被指定的各个字段;
21、在处理任意一行的所述输出数据时,针对所提取出的各个字段,按照预设的格式转化规则进行格式转换,得到对应于该行的所述输出数据的解析结果;
22、在完成了每一行的所述输出数据的处理之后,将得到的分别对应于各行的所述输出数据的解析结果,作为本次采集时刻所得到的解析结果。
23、另一方面,预设的格式转化规则包括:将字段中的键进行舍弃,将字段中的键值转换为浮点值且将百分比形式的浮点值转换为非百分比形式的浮点值。
24、另一方面,还包括:
25、监听操作系统产生的信号;
26、当监听到所述操作系统产生中断信号时,基于所述输入输出压力测试工具的编号,终止所述输入输出压力测试工具的运行;
27、当监听到所述操作系统产生终止信号时,基于所述输入输出压力测试工具的编号,终止所述输入输出压力测试工具的运行。
28、另一方面,输出所述解析结果,包括:
29、创建指标收集器,以将所述解析结果更新到所述指标收集器中;
30、将所述指标收集器在预设的监听服务的注册表中注册,并且将所述指标收集器的路由绑定至监听服务,以使得所述指标收集器中的所述解析结果被输出至所述监听服务之后,基于所述监听服务进行所述解析结果的显示。
31、另一方面,还包括:
32、在所述监听服务将所述解析结果发送至可视化展示工具之后,通过所述可视化展示工具,按照预设的展示形式,对所述解析结果进行展示。
33、第二方面,本发明提供了一种压力测试系统,包括:
34、准备模块,用于在输入输出压力测试工具被部署在待测试设备上部署之后,设置所述输入输出压力测试工具的配置文件;
35、测试执行模块,用于在目标程序开始运行,并且确定所述输入输出压力测试工具的路径以及所述配置文件的路径之后,在所述目标程序中以协程的形式运行所述输入输出压力测试工具,以通过所述输入输出压力测试工具,按照所述配置文件对所述待测试设备进行输入输出压力测试;
36、采集解析模块,用于在所述输入输出压力测试工具的运行过程中,在每个采集时刻,采集所述输入输出压力测试工具的输出数据并进行解析,得到解析结果;
37、解析结果输出模块,用于输出所述解析结果。
38、第三方面,本发明提供了一种压力测试设备,包括:
39、存储器,用于存储计算机程序;
40、处理器,用于执行所述计算机程序以实现如上述所述的压力测试方法的步骤。
41、第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求上述所述的压力测试方法的步骤。
42、应用本发明实施例所提供的技术方案,考虑到输入输出压力测试工具本身不具备输出压力测试过程中的相关数据的能力,因此,基于所设置的目标程序来实现该目的。具体的,输入输出压力测试工具需要被部署在待测试设备上,并且需要设置输入输出压力测试工具的配置文件。之后,便可以运行本技术方案所设置的目标程序,在目标程序开始运行之后,需要确定输入输出压力测试工具的路径以及配置文件的路径,这样才能够在目标程序中以协程的形式运行输入输出压力测试工具。并且运行输入输出压力测试工具时,使得输入输出压力测试工具是按照配置文件的要求,对待测试设备进行输入输出压力测试。在输入输出压力测试工具的运行过程中,每当达到1个采集时刻时,目标程序便可以采集输入输出压力测试工具的输出数据并进行解析,得到解析结果并输出,可以理解的是,所输出的解析结果,反映的是在输入输出压力测试工具的运行过程中,待测试设备的io压力测试情况,也即待测试设备在io压力测试过程中的性能表现。
43、综上所述,本技术的方案可以有效地实现待测试设备的输入输出压力测试,并且通过所输出的解析结果反映了在输入输出压力测试工具的运行过程中,待测试设备的输入输出压力测试情况,也即待测试设备在输入输出压力测试过程中的性能表现。
本文地址:https://www.jishuxx.com/zhuanli/20240911/292389.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表