1.本技术涉及计算机技术领域,特别涉及一种服务器部件性能测试方法、服务器部件性能测试装置、服务器以及计算机可读存储介质。
背景技术:
2.随着信息技术的不断发展,服务器等互联网基础设备的应用越来越广泛。在使用服务器的过程中,服务器的正常运行,与服务器部件的性能密切相关。服务器部件的性能测试包括硬盘、raid(redundant arrays of independent disks,磁盘阵列)卡、硬盘背板等部件的性能测试,引入新的硬盘、raid卡、硬盘背板时,均需要进行性能测试。
3.相关技术中,根据得到的性能和一致性测试结果进行分析,性能测试结果与规范值进行对比,判断是否满足设置的规则,一致性测试结果在excel表格中制作曲线图。但是,在硬盘、raid卡、硬盘背板等部件较多的情况下,现有分析方式需要耗费更多的时间与人力。并且,手工模拟多个用户并发测试相对困难,晚上时间得不到更好的利用,且容易产生失误,导致分析结果不够准确。
4.因此,如何提高进行测试的准确性,降低进行测试的成本是本领域技术人员关注的重点问题。
技术实现要素:
5.本技术的目的是提供一种服务器部件性能测试方法、服务器部件性能测试装置、服务器以及计算机可读存储介质,以提高进行部件测试的效率,降低进行测试的成本,同时提高测试的准确性。
6.为解决上述技术问题,本技术提供一种服务器部件性能测试方法,包括:
7.判断测试环境是否安装;
8.若未安装测试环境,执行测试环境的安装操作;
9.若所述测试环境已安装,执行获取到的测试脚本;
10.当执行所述测试脚本时,采用nmon工具按照预设周期抓取数据,得到数据点;
11.基于所述数据点进行测试数据生成,得到测试数据。
12.可选的,执行测试环境的安装操作,包括:
13.基于环境信息执行环境部署操作;
14.当所述环境部署操作执行完成时,执行工具安装操作;
15.当所述工具安装操作执行完成时,执行驱动安装操作。
16.可选的,执行获取到的测试脚本,包括:
17.获取测试执行顺序;
18.基于所述测试执行顺序执行测试操作组合;其中,所述测试操作组合包括顺序预处理、顺序写读测试、顺序混合读写测试、随机预处理、随机写读测试、随机混合读写测试70、随机混合读写测试80中的一种或多种。
19.可选的,还包括:
20.对类型信息、厂商信息、编码信息、描述信息以及规格值进行管理处理,得到部件信息;
21.当接收到操作指令数据时,基于所述操作指令数据对所述部件信息进行维护管理。
22.可选的,还包括:
23.从管理系统接收分析规则数据;
24.基于接收到的管理维护操作指令,对所述分析规则数据进行管理维护。
25.可选的,还包括:
26.基于所述测试数据和对应的规格值进行性能数据分析,得到性能分析结果;
27.基于所述测试数据进行一致性数据分析,得到一致性分析结果;
28.将所述性能分析结果和所述一致性分析结果作为测试分析结果,并发送所述测试分析结果。
29.可选的,还包括:
30.通过预设路径将所述测试分析结果和测试数据进行展示。
31.本技术还提供一种服务器部件性能测试装置,包括:
32.测试环境判断模块,用于判断测试环境是否安装;
33.测试环境安装模块,用于当未安装所述测试环境时,执行测试环境的安装操作;
34.测试脚本执行模块,用于若所述测试环境已安装,执行获取到的测试脚本;
35.数据抓取模块,用于当执行所述测试脚本时,采用nmon工具按照预设周期抓取数据,得到数据点;
36.测试数据生成模块,用于基于所述数据点进行测试数据生成,得到测试数据。
37.本技术还提供一种服务器,包括:
38.存储器,用于存储计算机程序;
39.处理器,用于执行所述计算机程序时实现如上所述的服务器部件性能测试方法的步骤。
40.本技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的服务器部件性能测试方法的步骤。
41.本技术所提供的一种服务器部件性能测试方法,包括:判断测试环境是否安装;若未安装测试环境,执行测试环境的安装操作;若所述测试环境已安装,执行获取到的测试脚本;当执行所述测试脚本时,采用nmon工具按照预设周期抓取数据,得到数据点;基于所述数据点进行测试数据生成,得到测试数据。
42.通过判断测试环境是否安装,保持测试环境稳定设置在设备中,然后执行获取到的测试脚本,并采用nmon工具按照预设周期抓取数据,得到数据点基于所述数据点进行测试数据生成,得到测试数据,实现了基于自动化的测试方式,避免了主观错误的加入,同时保持了测试过程的效率,降低了进行测试的门槛。
43.本技术还提供一种服务器部件性能测试装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不做赘述。
附图说明
44.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
45.图1为本技术实施例所提供的一种服务器部件性能测试方法的流程图;
46.图2为本技术实施例所提供的一种服务器部件性能测试装置的结构示意图。
具体实施方式
47.本技术的核心是提供一种服务器部件性能测试方法、服务器部件性能测试装置、服务器以及计算机可读存储介质,以提高进行部件测试的效率,降低进行测试的成本,同时提高测试的准确性。
48.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
49.相关技术中,根据得到的性能和一致性测试结果进行分析,性能测试结果与规范值进行对比,判断是否满足设置的规则,一致性测试结果在excel表格中制作曲线图。但是,在硬盘、raid卡、硬盘背板等部件较多的情况下,现有分析方式需要耗费更多的时间与人力。并且,手工模拟多个用户并发测试相对困难,晚上时间得不到更好的利用,且容易产生失误,导致分析结果不够准确。
50.因此,本技术提供一种的服务器部件性能测试方法,通过判断测试环境是否安装,保持测试环境稳定设置在设备中,然后执行获取到的测试脚本,并采用nmon工具按照预设周期抓取数据,得到数据点基于所述数据点进行测试数据生成,得到测试数据,实现了基于自动化的测试方式,避免了主观错误的加入,同时保持了测试过程的效率,降低了进行测试的门槛。
51.以下通过一个实施例,对本技术提供的一种服务器部件性能测试方法进行说明。
52.请参考图1,图1为本技术实施例所提供的一种服务器部件性能测试方法的流程图。
53.本实施例中,该方法可以包括:
54.s101,判断测试环境是否安装;
55.可见,本步骤旨在判断测试环境是否安装。其中,测试环境包括部署环境、安装工具、安装驱动。
56.其中,该测试环境就是自动化测试操作需要执行的相关环境,是自动化执行测试的必要条件。
57.s102,若未安装测试环境,执行测试环境的安装操作;
58.在s101的基础上,当当前环境中不存在该测试环境时,执行该测试环境的安装操作。
59.进一步的,本本步骤可以包括:
60.步骤1,基于环境信息执行环境部署操作;
61.步骤2,当环境部署操作执行完成时,执行工具安装操作;
62.步骤3,当工具安装操作执行完成时,执行驱动安装操作。
63.可见,本可选方案主要是说明如何安装测试环境。本可选方案中,基于环境信息执行环境部署操作,当环境部署操作执行完成时,执行工具安装操作,当工具安装操作执行完成时,执行驱动安装操作。
64.s103,若测试环境已安装,执行获取到的测试脚本;
65.在s101和s102的基础上,本步骤旨在执行获取到的测试脚本。
66.其中,测试脚本可以是技术人员基于测试场景编写的对应的测试脚本,也可以是基于使用场景通过机器学习自动生成的测试脚本,还可以是从数据库中直接获取的现有的测试脚本。
67.进一步的,本本步骤可以包括:
68.步骤1,获取测试执行顺序;
69.步骤2,基于测试执行顺序执行测试操作组合;其中,测试操作组合包括顺序预处理、顺序写读测试、顺序混合读写测试、随机预处理、随机写读测试、随机混合读写测试70、随机混合读写测试80中的一种或多种。
70.可见,本可选方案主要是说明如何执行测试脚本。本可选方案中,获取测试执行顺序,基于测试执行顺序执行测试操作组合;其中,测试操作组合包括顺序预处理、顺序写读测试、顺序混合读写测试、随机预处理、随机写读测试、随机混合读写测试70、随机混合读写测试80中的一种或多种。
71.s104,当执行测试脚本时,采用nmon工具按照预设周期抓取数据,得到数据点;
72.在s103的基础上,本步骤旨在当执行测试脚本时,采用nmon工具按照预设周期抓取数据,得到数据点。
73.其中,nmon工具是一款计算机性能系统监控工具。
74.其中,预设周期可以根据技术人员的经验进行设备,还可以基于实际的性能情况进行设定,也可以采用默认值。
75.s105,基于数据点进行测试数据生成,得到测试数据。
76.在s104的基础上,本步骤旨在基于数据点进行测试数据生成,得到测试数据。也就是,基于获取到的数据点进行整理得到对应的测试数据,而不是通过人工的方式获取到的测试数提高了测试的效率。
77.进一步的,本步骤还可以包括:
78.步骤1,对类型信息、厂商信息、编码信息、描述信息以及规格值进行管理处理,得到部件信息;
79.步骤2,当接收到操作指令数据时,基于操作指令数据对部件信息进行维护管理。
80.可见,本可选方案主要是说明如何对信息进行维护。本可选方案中,对类型信息、厂商信息、编码信息、描述信息以及规格值进行管理处理,得到部件信息,当接收到操作指令数据时,基于操作指令数据对部件信息进行维护管理。可以包括新增部件信息、编辑部件信息、批量导入部件信息、删除部件信息、查询部件信息、对部件的基础信息进行统一的管理。
81.进一步的,本步骤还可以包括:
82.步骤1,从管理系统接收分析规则数据;
83.步骤2,基于接收到的管理维护操作指令,对分析规则数据进行管理维护。
84.可见,本可选方案主要是说明如何对规则进行维护。本可选方案中,从管理系统接收分析规则数据,基于接收到的管理维护操作指令,对分析规则数据进行管理维护。
85.进一步的,本步骤还可以包括:
86.步骤1,基于测试数据和对应的规格值进行性能数据分析,得到性能分析结果;
87.步骤2,基于测试数据进行一致性数据分析,得到一致性分析结果;
88.步骤3,将性能分析结果和一致性分析结果作为测试分析结果,并发送测试分析结果。
89.可见,本可选方案主要是说明如何对测试数据进行分析。本可选方案中,基于测试数据和对应的规格值进行性能数据分析,得到性能分析结果,基于测试数据进行一致性数据分析,得到一致性分析结果,将性能分析结果和一致性分析结果作为测试分析结果,并发送测试分析结果。其中,测试结果数据分为性能测试结果数据和一致性测试结果数据两部分,先分别进行分析与比对,再综合比对结果。
90.进一步的,本步骤还可以包括:
91.通过预设路径将测试分析结果和测试数据进行展示。
92.可见,本可选方案主要是说明如何将分析结果进行展示。本可选方案中,通过预设路径将测试分析结果和测试数据进行展示。其中,预设路径包括restful(representational state transfer,设计风格)接口、可视化web界面或文件下载。
93.综上,本实施例通过判断测试环境是否安装,保持测试环境稳定设置在设备中,然后执行获取到的测试脚本,并采用nmon工具按照预设周期抓取数据,得到数据点基于数据点进行测试数据生成,得到测试数据,实现了基于自动化的测试方式,避免了主观错误的加入,同时保持了测试过程的效率,降低了进行测试的门槛。
94.以下通过一个具体的实施例,对本技术提供的一种服务器部件性能测试方法做进一步说明。
95.本实施例中,该测试方法可以分为以下几个模块进行执行。
96.信息管理模块,包括部件信息管理子模块和规则管理子模块;
97.其中,部件信息管理子模块,用于维护部件的类型、厂商、编码、描述等基本信息和规范值值,可以新增部件信息,编辑部件信息,批量导入部件信息、删除部件信息,查询部件信息,对部件的基础信息进行统一的管理;
98.其中,规则管理子模块,用于维护各类型部件需要进行比较分析的规则,对各类型部件的规则进行通用、可配置的管理。
99.自动化测试模块,用于自动化任务支持并发执行,通过客户端多个测试任务模拟多个并发请求,来测试服务器部件的性能;自动化测试任务执行前,自动检测部署服务器环境,包括部署环境、安装工具、安装驱动;自动化测试任务执行时,调用python编写的测试脚本,按照顺序预处理、顺序写读测试、顺序混合读写测试、随机预处理、随机写读测试、随机混合读写测试70、随机混合读写测试80的流程顺序执行;调用nmon工具,每间隔一秒抓取一次数据,共抓取600次,前后各去掉50次;将得到的性能测试结果和500个点的一致性测试结
果数据返回给平台原始数据资源池。
100.自动分析模块,用于自动分析提供service批量可配置的分析接口,可自动调用,可人工触发;测试结果数据分为性能测试结果数据和一致性测试结果数据两部分,先分别进行分析与比对,再综合比对结果;性能测试结果数据,以同控制器同model分组计算对比,此处只选择规范值值中要求的4k随机读iops、4k随机写iops、1024k顺序读bw、1024k顺序写bw等4个典型值进行对比;
101.计算均衡性,即各盘性能实际值占平均值的比例,判断均衡性是否在该类型部件对应的规则范围内;根据背板和控制器来判定是否受瓶颈限制以及对应的瓶颈值;计算平均值占标准值的比例,判断比例是否在该类型部件对应的规则范围内;
102.一致性测试结果数据,将4k随机读写、128k顺序读写、1024k顺序读写等关键值的一致性测试结果数据输出曲线图,一致性占比,即测试结果数据在平均值上下百分之五范围内的占比,达到该类型部件对应的规则范围内,且不能出现性能值为零的点;
103.综合以上所有结果进行判定,一项不在该类型部件对应的规则范围内,即为测试不通过。将分析结果存入平台分析结果数据资源池。
104.分析结果监控模块,用于分析结果在自动分析模块已持久化,通过restful接口、可视化web界面或文件下载等方式,将分析结果、测试不通过原因展示给测试人员,用于测试人员监控服务器部件性能测试。
105.本实施例中,各个模块的执行过程可以包括:
106.信息管理模块:通过web前端维护部件的类型、厂商、编码、描述等基本信息和规范值,对部件的基础信息进行统一的增删改查管理;通过web前端维护各类型部件需要进行比较分析的规则,对各类型部件的规则进行通用、可配置的管理。
107.自动化测试模块:自动化任务支持并发执行,通过客户端多个测试任务模拟多个并发请求,来测试服务器部件的性能;自动化测试任务执行前,自动检测部署服务器环境;自动化测试任务执行时,调用测试脚本,按照指定流程顺序执行;调用nmon工具,抓取600个点的数据;将得到的性能测试结果和中间500个点的一致性测试结果数据返回给平台原始数据资源池。
108.自动分析模块:自动分析提供service批量可配置的分析接口,可自动调用,也可人工触发;性能测试结果数据以同控制器同model分组计算对比,只选择规范值值中要求的4个典型值进行对比,计算平均值占标准值的比例,计算均衡性,计算瓶颈值,判断比例和均衡性是否在该类型部件对应的规则范围内;将4k随机读写、128k顺序读写、1024k顺序读写等关键值的一致性测试结果数据输出曲线图,判断一致性所占比例是否在该类型部件对应的规则范围内;综合以上所有结果进行判定,一项不在该类型部件对应的规则范围内,即为测试不通过。将分析结果存入平台分析结果数据资源池。
109.分析结果监控模块:分析结果在自动分析模块已持久化,通过restful接口、可视化web界面或文件下载等方式,将分析结果、测试不通过原因展示给测试人员,用于测试人员监控服务器部件性能测试。
110.可见,本实施例通过判断测试环境是否安装,保持测试环境稳定设置在设备中,然后执行获取到的测试脚本,并采用nmon工具按照预设周期抓取数据,得到数据点基于数据点进行测试数据生成,得到测试数据,实现了基于自动化的测试方式,避免了主观错误的加
入,同时保持了测试过程的效率,降低了进行测试的门槛。
111.下面对本技术实施例提供的服务器部件性能测试装置进行介绍,下文描述的服务器部件性能测试装置与上文描述的服务器部件性能测试方法可相互对应参照。
112.请参考图2,图2为本技术实施例所提供的一种服务器部件性能测试装置的结构示意图。
113.本实施例中,该装置可以包括:
114.测试环境判断模块100,用于判断测试环境是否安装;
115.测试环境安装模块200,用于当未安装测试环境时,执行测试环境的安装操作;
116.测试脚本执行模块300,用于若测试环境已安装,执行获取到的测试脚本;
117.数据抓取模块400,用于当执行测试脚本时,采用nmon工具按照预设周期抓取数据,得到数据点;
118.测试数据生成模块500,用于基于数据点进行测试数据生成,得到测试数据。
119.可选的,该测试环境安装模块200,具体用于基于环境信息执行环境部署操作;当环境部署操作执行完成时,执行工具安装操作;当工具安装操作执行完成时,执行驱动安装操作。
120.可选的,该测试脚本执行模块300,获取测试执行顺序;基于测试执行顺序执行测试操作组合;其中,测试操作组合包括顺序预处理、顺序写读测试、顺序混合读写测试、随机预处理、随机写读测试、随机混合读写测试70、随机混合读写测试80中的一种或多种。
121.可选的,该装置还包括:部件信息管理模块,用于对类型信息、厂商信息、编码信息、描述信息以及规格值进行管理处理,得到部件信息;当接收到操作指令数据时,基于操作指令数据对部件信息进行维护管理。
122.可选的,该装置还包括:规则管理模块,用于从管理系统接收分析规则数据;基于接收到的管理维护操作指令,对分析规则数据进行管理维护。
123.可选的,该装置还包括:结果分析模块,用于基于测试数据和对应的规格值进行性能数据分析,得到性能分析结果;基于测试数据进行一致性数据分析,得到一致性分析结果;将性能分析结果和一致性分析结果作为测试分析结果,并发送测试分析结果。
124.可选的,该装置还包括:分析结果展示模块,用于通过预设路径将测试分析结果和测试数据进行展示。
125.本技术实施例还提供一种服务器,包括:
126.存储器,用于存储计算机程序;
127.处理器,用于执行所述计算机程序时实现如以上实施例所述的服务器部件性能测试方法的步骤。
128.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的服务器部件性能测试方法的步骤。
129.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
130.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
131.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
132.以上对本技术所提供的一种服务器部件性能测试方法、服务器部件性能测试装置、服务器以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
技术特征:
1.一种服务器部件性能测试方法,其特征在于,包括:判断测试环境是否安装;若未安装测试环境,执行测试环境的安装操作;若所述测试环境已安装,执行获取到的测试脚本;当执行所述测试脚本时,采用nmon工具按照预设周期抓取数据,得到数据点;基于所述数据点进行测试数据生成,得到测试数据。2.根据权利要求1所述的服务器部件性能测试方法,其特征在于,执行测试环境的安装操作,包括:基于环境信息执行环境部署操作;当所述环境部署操作执行完成时,执行工具安装操作;当所述工具安装操作执行完成时,执行驱动安装操作。3.根据权利要求1所述的服务器部件性能测试方法,其特征在于,执行获取到的测试脚本,包括:获取测试执行顺序;基于所述测试执行顺序执行测试操作组合;其中,所述测试操作组合包括顺序预处理、顺序写读测试、顺序混合读写测试、随机预处理、随机写读测试、随机混合读写测试70、随机混合读写测试80中的一种或多种。4.根据权利要求1所述的服务器部件性能测试方法,其特征在于,还包括:对类型信息、厂商信息、编码信息、描述信息以及规格值进行管理处理,得到部件信息;当接收到操作指令数据时,基于所述操作指令数据对所述部件信息进行维护管理。5.根据权利要求1所述的服务器部件性能测试方法,其特征在于,还包括:从管理系统接收分析规则数据;基于接收到的管理维护操作指令,对所述分析规则数据进行管理维护。6.根据权利要求1所述的服务器部件性能测试方法,其特征在于,还包括:基于所述测试数据和对应的规格值进行性能数据分析,得到性能分析结果;基于所述测试数据进行一致性数据分析,得到一致性分析结果;将所述性能分析结果和所述一致性分析结果作为测试分析结果,并发送所述测试分析结果。7.根据权利要求6所述的服务器部件性能测试方法,其特征在于,还包括:通过预设路径将所述测试分析结果和测试数据进行展示。8.一种服务器部件性能测试装置,其特征在于,包括:测试环境判断模块,用于判断测试环境是否安装;测试环境安装模块,用于当未安装所述测试环境时,执行测试环境的安装操作;测试脚本执行模块,用于若所述测试环境已安装,执行获取到的测试脚本;数据抓取模块,用于当执行所述测试脚本时,采用nmon工具按照预设周期抓取数据,得到数据点;测试数据生成模块,用于基于所述数据点进行测试数据生成,得到测试数据。9.一种服务器,其特征在于,包括:存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的服务器部件性能测试方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的服务器部件性能测试方法的步骤。
技术总结
本申请公开了一种服务器部件性能测试方法,包括:判断测试环境是否安装;若未安装测试环境,执行测试环境的安装操作;若测试环境已安装,执行获取到的测试脚本;当执行测试脚本时,采用NMON工具按照预设周期抓取数据,得到数据点;基于数据点进行测试数据生成,得到测试数据。通过判断测试环境是否安装,保持测试环境稳定设置在设备中,然后执行获取到的测试脚本,采用NMON工具按照预设周期抓取数据,得到数据点基于数据点进行测试数据生成,得到测试数据,实现了基于自动化的测试方式,同时保持了测试过程的效率,降低了进行测试的门槛。本申请还公开了一种服务器部件性能测试装置、服务器以及计算机可读存储介质,具有以上有益效果。效果。效果。
技术研发人员:王丽
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2021.11.26
技术公布日:2022/3/8