一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

服务器压力测试方法、装置、系统和计算机设备与流程

2023-04-26 15:13:34 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别是涉及一种服务器压力测试方法、装5置、系统、计算机设备、存储介质和计算机程序产品。


背景技术:

2.随着产业数字化转型的蓬勃发展,大规模集群式的运算在实际中的应用越来越广泛,给服务器领域带来了机遇和挑战。为了确保服务器集群在高强度的0工作中可以长时间稳定运行,有必要对服务器集群进行压力测试,包括gpu(graphics processing unit,图形处理器)压力测试。在对服务器集群进行gpu压力测试前,需对各服务器部署gpu驱动、gpu软件栈等软件组件,以支持gpu压力测试,且不同型号的gpu所需搭配的软件组件不同。
3.相关技术中,对服务器进行gpu相关软件组件的部署,是由测试工程师5手动部署,对于服务器数量庞大且gpu型号多样的服务器集群,手动部署容
4.易出错,导致服务器集群的gpu压力测试无法顺利进行,且效率较低。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够提高服务器集群的gpu0压力测试成功率和测试效率的服务器压力测试方法、装置、系统、计算机设备、计算机可读存储介质和计算机程序产品。
6.第一方面,本技术提供了一种服务器压力测试方法。所述方法包括:
7.获取待测服务器集群中各目标待测服务器对应的图形处理器gpu型号信息;
8.5针对每个所述目标待测服务器,根据预设的组件匹配策略,在各组件信息
9.中确定与所述目标待测服务器的gpu型号信息匹配的目标组件的索引信息,并向所述目标待测服务器发送包含所述索引信息的组件安装指令,所述组件安装指令用于指示所述目标待测服务器从容器镜像仓库中安装所述索引信息对应的所述目标组件;
10.向各安装目标组件后的所述目标待测服务器发送包含测试程序信息的gpu压力测试指令,所述gpu压力测试指令用于指示各所述目标待测服务器基于所述测试程序信息执行gpu压力测试。
11.基于上述方案,可以实现待测服务器集群中各目标待测服务器的gpu相关软件组件的自动部署,相比手动部署,部署的准确性高,以保障待测服务器集群的gpu压力测试的顺利进行,且部署效率高,从而可以提高服务器集群的gpu压力测试成功率和测试效率。
12.在其中一个实施例中,所述获取待测服务器集群中各目标待测服务器对应的图像处理器gpu型号信息,包括:
13.向待测服务器集群中的各目标待测服务器发送包含gpu型号查询程序信息的gpu型号查询指令,所述gpu型号查询指令用于指示各所述目标待测服务器根据所述gpu型号查询程序信息确定本地的gpu型号信息,并反馈所述本地的gpu型号信息;
14.接收各所述目标待测服务器发送的gpu型号信息。
15.基于上述方案,可以保障控制节点获取的gpu型号信息的准确性、以及获取效率较高,从而可进一步提高服务器集群的gpu压力测试成功率和测试整体效率。
16.在其中一个实施例中,所述向各安装目标组件后的所述目标待测服务器发送包含测试程序信息的gpu压力测试指令之后,还包括:
17.获取各所述目标待测服务器执行所述gpu压力测试的测试日志,所述测试日志包含各所述目标待测服务器对应的gpu压力测试结果数据;
18.根据各所述gpu压力测试结果数据和预设的测试状态判断策略,确定所述待测服务器集群的gpu压力测试状态,所述gpu压力测试状态包括通过状态和不通过状态。
19.基于上述方案,可以实现根据gpu压力测试结果数据自动确定待测服务器集群的gpu压力测试状态,提高gpu压力测试的整体效率,且确定出的gpu压力测试状态可以准确地反映出测试情况。
20.在其中一个实施例中,所述根据各所述gpu压力测试结果数据和预设的测试状态判断策略,确定所述待测服务器集群的gpu压力测试状态,包括:
21.根据所述待测服务器集群中的各所述目标待测服务器的型号信息,将各所述目标待测服务器划分为多个子集群,每个所述子集群包含的各所述目标待测服务器的型号信息相同,所述型号信息至少包括gpu型号信息;
22.针对每个所述子集群,根据所述子集群中各所述目标待测服务器对应的gpu压力测试结果数据确定所述子集群对应的测试差异度;
23.在每个所述子集群对应的测试差异度均不大于预设阈值的情况下,将所述待测服务器集群的gpu压力测试状态确定为通过状态。
24.基于上述方案,根据各子集群的测试差异度确定出的待测服务器集群的gpu压力测试状态,可以准确反映出待测服务器集群的gpu压力测试情况。
25.第二方面,本技术还提供了另一种服务器压力测试方法。所述方法应用于待测服务器,所述方法包括:
26.响应于控制节点发送的组件安装指令,确定所述组件安装指令包含的目标组件的索引信息;所述目标组件的索引信息为所述控制节点根据预设的组件匹配策略,在各组件信息中确定出的与所述待测服务器的gpu型号信息匹配的信息;
27.根据所述目标组件的索引信息,从容器镜像仓库中获取所述索引信息对应的镜像文件,并基于所述镜像文件安装所述目标组件;
28.响应于所述控制节点发送的gpu压力测试指令,基于所述gpu压力测试指令包含的测试程序信息执行gpu压力测试。
29.基于上述方案,可以实现待测服务器的gpu相关软件组件的自动部署,相比手动部署,部署的准确性高,以保障gpu压力测试的顺利进行,且部署效率高,从而可以提高服务器的gpu压力测试成功率和测试效率。
30.第三方面,本技术还提供了一种服务器压力测试系统。所述服务器压力测试系统包括控制节点、待测服务器集群和容器镜像仓库,所述待测服务器集群包含若干目标待测服务器,其中:
31.所述控制节点,用于获取所述待测服务器集群中各目标待测服务器对应的gpu型号信息;针对每个所述目标待测服务器,根据预设的组件匹配策略,在各组件信息中确定与
所述目标待测服务器的gpu型号信息匹配的目标组件的索引信息,并向所述目标待测服务器发送包含所述索引信息的组件安装指令;
32.所述目标待测服务器,用于响应于所述控制节点发送的所述组件安装指令,根据所述组件安装指令包含的所述索引信息,从所述容器镜像仓库中获取所述索引信息对应的镜像文件,并基于所述镜像文件安装所述目标组件;
33.所述控制节点还用于向各安装目标组件后的所述目标待测服务器发送包含测试程序信息的gpu压力测试指令;
34.所述目标待测服务器还用于响应于所述控制节点发送的所述gpu压力测试指令,基于所述gpu压力测试指令包含的所述测试程序信息,执行gpu压力测试。
35.第四方面,本技术还提供了一种服务器压力测试装置。所述装置包括:
36.第一获取模块,用于获取待测服务器集群中各目标待测服务器对应的图形处理器gpu型号信息;
37.第一发送模块,用于针对每个所述目标待测服务器,根据预设的组件匹配策略,在各组件信息中确定与所述目标待测服务器的gpu型号信息匹配的目标组件的索引信息,并向所述目标待测服务器发送包含所述索引信息的组件安装指令,所述组件安装指令用于指示所述目标待测服务器从容器镜像仓库中安装所述索引信息对应的所述目标组件;
38.第二发送模块,用于向各安装目标组件后的所述目标待测服务器发送包含测试程序信息的gpu压力测试指令,所述gpu压力测试指令用于指示各所述目标待测服务器基于所述测试程序信息执行gpu压力测试。
39.在其中一个实施例中,所述第一获取模块具体用于:
40.向待测服务器集群中的各目标待测服务器发送包含gpu型号查询程序信息的gpu型号查询指令,所述gpu型号查询指令用于指示各所述目标待测服务器根据所述gpu型号查询程序信息确定本地的gpu型号信息,并反馈所述本地的gpu型号信息;接收各所述目标待测服务器发送的gpu型号信息。
41.在其中一个实施例中,所述装置还包括:
42.第二获取模块,用于获取各所述目标待测服务器执行所述gpu压力测试的测试日志,所述测试日志包含各所述目标待测服务器对应的gpu压力测试结果数据;
43.确定模块,用于根据各所述gpu压力测试结果数据和预设的测试状态判断策略,确定所述待测服务器集群的gpu压力测试状态,所述gpu压力测试状态包括通过状态和不通过状态。
44.在其中一个实施例中,所述确定模块具体用于:
45.根据所述待测服务器集群中的各所述目标待测服务器的型号信息,将各所述目标待测服务器划分为多个子集群,每个所述子集群包含的各所述目标待测服务器的型号信息相同,所述型号信息至少包括gpu型号信息;针对每个所述子集群,根据所述子集群中各所述目标待测服务器对应的gpu压力测试结果数据确定所述子集群对应的测试差异度;在每个所述子集群对应的测试差异度均不大于预设阈值的情况下,将所述待测服务器集群的gpu压力测试状态确定为通过状态。
46.第五方面,本技术还提供了另一种服务器压力测试装置。所述装置包括:
47.确定模块,用于响应于控制节点发送的组件安装指令,确定所述组件安装指令包
含的目标组件的索引信息;所述目标组件的索引信息为所述控制节点根据预设的组件匹配策略,在各组件信息中确定出的与所述待测服务器的gpu型号信息匹配的信息;
48.安装模块,用于根据所述目标组件的索引信息,从容器镜像仓库中获取所述索引信息对应的镜像文件,并基于所述镜像文件安装所述目标组件;
49.测试模块,用于响应于所述控制节点发送的gpu压力测试指令,基于所述gpu压力测试指令包含的测试程序信息执行gpu压力测试。
50.第六方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面或第二方面所述的方法的步骤。
51.第七方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第二方面所述的方法的步骤。
52.第八方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面或第二方面所述的方法的步骤。
53.上述服务器压力测试方法、装置、系统、计算机设备、存储介质和计算机程序产品,通过控制节点确定与各目标待测服务器的gpu型号信息匹配的目标组件的索引信息,并调度各目标待测服务器根据目标组件的索引信息从容器镜像仓库中获取目标组件的镜像文件,并基于该镜像文件安装目标组件,从而实现待测服务器集群中各目标待测服务器的gpu相关软件组件的自动部署,相比手动部署,部署的准确性高,以保障待测服务器集群的gpu压力测试的顺利进行,且部署效率高,从而可以提高服务器集群的gpu压力测试成功率和测试效率。
附图说明
54.图1为一个示例中服务器压力测试系统的结构框图;
55.图2为一个实施例中服务器压力测试方法的流程示意图;
56.图3为另一个实施例中服务器压力测试方法的流程示意图;
57.图4为一个实施例中确定gpu压力测试状态的流程示意图;
58.图5为另一个实施例中服务器压力测试方法的流程示意图;
59.图6为一个实施例中服务器压力测试装置的结构框图;
60.图7为另一个实施例中服务器压力测试装置的结构框图;
61.图8为一个实施例中计算机设备的内部结构图。
具体实施方式
62.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
63.首先,在具体介绍本技术实施例的技术方案之前,先对本技术实施例基于的技术背景或者技术演进脉络进行介绍。随着产业数字化转型的蓬勃发展,大规模集群式的运算在实际中的应用越来越广泛,给服务器领域带来了机遇和挑战。为了确保服务器集群在高
强度的工作中可以长时间稳定运行,有必要对服务器集群进行压力测试,包括gpu(graphics processing unit,图形处理器)压力测试,cpu(central processing unit,中央处理器)压力测试,内存压力测试,硬盘压力测试,网卡压力测试等。其中,对服务器集群进行gpu压力测试前,需对各目标待测服务器部署gpu驱动、gpu软件栈、机器学习相关套件等软件组件,以支持gpu压力测试,而不同型号的gpu因设计架构不同和/或应用方向不同,所需搭配的驱动等软件组件或软件组件的版本可能不同。
64.相关技术中,对服务器进行gpu相关软件组件的部署,是由测试工程师手动部署,对于服务器数量庞大且gpu型号多样的服务器集群,手动部署容易出错,导致服务器集群的gpu压力测试无法顺利进行,且效率较低。基于该背景,申请人通过长期的研发以及实验验证,提出本技术的服务器压力测试方法,通过预先将多种型号gpu所需的软件组件封装为镜像文件,并存放于容器镜像仓库中,由控制节点根据各目标待测服务器的gpu型号信息确定出匹配的目标组件的索引信息,并将包含索引信息的组件安装指令发送给目标待测服务器,从而各目标待测服务器根据索引信息从容器镜像仓库中安装对应的目标组件,由此,各安装目标组件后的目标待测服务器可以响应于控制节点发送的gpu压力测试指令,顺利执行gpu压力测试。本方法中,通过控制节点调度各目标待测服务器安装与各目标待测服务器的gpu型号信息对应的目标组件,实现gpu相关软件组件的自动部署,相比手动部署,部署的准确性高,以保障gpu压力测试的顺利进行,且部署效率高,从而可以提高服务器集群的gpu压力测试成功率和测试效率。另外,需要说明的是,本技术技术问题的发现以及下述实施例介绍的技术方案,申请人均付出了大量的创造性劳动。
65.本技术实施例提供的服务器压力测试方法,可以应用于如图1所示的服务器压力测试系统100。服务器压力测试系统100包括控制节点102、待测服务器集群104和容器镜像仓库106。其中,待测服务器集群104包含若干目标待测服务器,各目标待测服务器可以通过网络分别与控制节点102和容器镜像仓库106进行通信。各目标待测服务器上可以部署和运行容器,控制节点102可以对各目标待测服务器上的容器进行部署和管理。例如,可以将控制节点所属服务器和各目标待测服务器接入云平台(如kubernetes平台),在云平台上将控制节点所属服务器部署为控制节点(如kubernetes的master节点),将各目标待测服务器部署为计算节点(如kubernetes的node节点),从而控制节点可以管理各目标待测服务器,包括对目标待测服务器上的容器进行部署和管理。容器镜像仓库106可以搭建在仓库服务器上,用于存放镜像文件。
66.在一个实施例中,如图2所示,提供了一种服务器压力测试方法,以该方法应用于图1中的控制节点102为例进行说明,包括以下步骤:
67.步骤201,获取待测服务器集群中各目标待测服务器对应的gpu型号信息。
68.其中,目标待测服务器为需要执行gpu压力测试的服务器,可以是待测服务器集群包含的全部或部分服务器。测试工程师可以在测试配置文件中设置本次gpu压力测试涉及的目标待测服务器,则控制节点可以根据测试配置文件确定目标待测服务器。
69.在实施中,控制节点可以获取各目标待测服务器对应的gpu型号信息,例如,可以由测试工程师将各目标待测服务器对应的gpu型号信息写入配置文件,将配置文件上传至控制节点,则控制节点可以从配置文件中获取各目标待测服务器对应的gpu型号信息。
70.步骤202,针对每个目标待测服务器,根据预设的组件匹配策略,在各组件信息中
确定与目标待测服务器的gpu型号信息匹配的目标组件的索引信息,并向目标待测服务器发送包含索引信息的组件安装指令。
71.其中,组件安装指令用于指示目标待测服务器从容器镜像仓库中安装索引信息对应的目标组件。
72.在实施中,控制节点获取各目标待测服务器的gpu型号信息后,可以根据预设的组件匹配策略,确定与各目标待测服务器的gpu型号信息匹配的目标组件的索引信息。例如,组件匹配策略可以是预先建立的gpu型号信息与组件信息的对应关系,从而控制节点可以在该对应关系中,确定出与各目标待测服务器的gpu型号信息匹配的目标组件的索引信息。组件信息包括组件镜像文件的索引信息,索引信息具体可以包括目标组件的镜像路径、镜像标识或标签等信息,可以基于索引信息从容器镜像仓库中获取目标组件的镜像文件。组件信息还可以包括组件名称、版本号等其它信息,便于测试工程师对gpu型号信息与组件信息的对应关系进行维护。
73.然后,控制节点可以向目标待测服务器发送包含索引信息的组件安装指令。目标待测服务器可以响应于组件安装指令,从容器镜像仓库中获取该索引信息对应的镜像文件,并基于该镜像文件安装目标组件。其中,容器镜像仓库预先存放有各目标组件的镜像文件,每个镜像文件与一个索引信息唯一对应。具体的,容器镜像仓库可以是预先搭建的私有docker镜像仓库。此外,为了便于管理gpu相关软件组件,可以在控制节点安装gpu operator(基于kubernetes的operator框架开发的工具),以便控制节点通过gpu operator来调度各目标待测服务器安装容器化的目标组件。
74.步骤203,向各安装目标组件后的目标待测服务器发送包含测试程序信息的gpu压力测试指令。
75.其中,gpu压力测试指令用于指示各目标待测服务器基于测试程序信息执行gpu压力测试。
76.在实施中,控制节点可以向各安装目标组件后的目标待测服务器发送包含测试程序信息的gpu压力测试指令。例如,各目标待测服务器接收到组件安装指令后,可以向控制节点反馈目标组件的安装进度。待各目标待测服务器安装目标组件后,控制节点可以根据测试配置文件中的测试信息,向各目标待测服务器发送gpu压力测试指令。测试配置文件可以由测试工程师预先上传至控制节点,其可以包含测试程序信息、测试程序运行次数或运行时间等测试信息。测试程序信息可以是测试程序本身,也可以是测试程序的索引信息。若是测试程序本身,目标待测服务器则可以直接运行该测试程序,以执行gpu压力测试。若是测试程序的索引信息,则目标待测服务器可以从容器镜像仓库中获取测试程序的镜像文件,并基于该镜像文件执行gpu压力测试。
77.上述服务器压力测试方法中,通过控制节点确定出与各目标待测服务器的gpu型号信息匹配的目标组件的索引信息,并调度各目标待测服务器根据目标组件的索引信息从容器镜像仓库中获取目标组件的镜像文件后基于该镜像文件安装目标组件,从而实现待测服务器集群中各目标待测服务器的gpu相关软件组件的自动部署,相比手动部署,部署的准确性高,以保障待测服务器集群的gpu压力测试的顺利进行,且部署效率高,从而可以提高服务器集群的gpu压力测试成功率和测试效率。
78.在一个实施例中,上述步骤201中获取gpu型号信息的过程具体包括如下步骤:向
待测服务器集群中的各目标待测服务器发送包含gpu型号查询程序信息的gpu型号查询指令,gpu型号查询指令用于指示各目标待测服务器根据gpu型号查询程序信息确定本地的gpu型号信息,并反馈本地的gpu型号信息;接收各目标待测服务器发送的gpu型号信息。
79.在实施中,控制节点可以向各目标待测服务器发送gpu型号查询指令。例如,控制节点可以响应于测试工程师输入的指令,发送gpu型号查询指令,也可以响应于其他触发条件,如在测试周期内(如设定为1周、一个月等)首次执行gpu压力测试前,发送gpu型号查询指令。目标待测服务器可以响应于gpu型号查询指令,基于该指令中包含的gpu型号查询程序信息确定本地的gpu型号信息。具体的,gpu型号查询程序信息可以是查询程序本身,也可以是查询程序镜像文件的索引信息,从而目标待测服务器可以根据索引信息从容器镜像仓库中获取gpu型号查询程序的镜像文件,并基于镜像文件在容器中运行gpu型号查询程序,从而得到本地的gpu型号信息。然后,目标待测服务器可以将本地的gpu型号信息反馈给控制节点,从而控制节点可以接收到各目标待测服务器的gpu型号信息。
80.本实施例中,可以通过控制节点向待测服务器发送gpu型号查询指令,指示待测服务器运行gpu型号查询程序确定本地的gpu型号信息后反馈给控制节点,从而控制节点可以获取到各待测服务器对应的gpu型号信息,由此,可以保障控制节点获取的gpu型号信息的准确性、以及获取效率较高,基于该gpu型号信息调度与各待测服务器安装对应的目标组件后进行gpu压力测试,可以保障gpu压力测试的顺利进行,即可提高服务器集群的gpu压力测试成功率和测试整体效率。
81.在一个实施例中,如图3所示,提供了另一种服务器压力测试方法,其在上述步骤203发送gpu压力测试指令之后,还包括如下步骤:
82.步骤301,获取各目标待测服务器执行gpu压力测试的测试日志。
83.其中,测试日志包含各目标待测服务器对应的gpu压力测试结果数据。
84.在实施中,各目标待测服务器执行gpu压力测试后,可以将测试日志上传至日志服务器,则控制节点可以从日志服务器获取各目标待测服务器对应的gpu压力测试结果数据。
85.步骤302,根据各gpu压力测试结果数据和预设的测试状态判断策略,确定待测服务器集群的gpu压力测试状态,gpu压力测试状态包括通过状态和不通过状态。
86.在实施中,控制节点获取到各目标待测服务器的gpu压力测试结果数据后,可以根据各测试结果数据和预设的测试状态判断策略,确定待测服务器集群的gpu压力测试状态。例如,若gpu压力测试程序为随机生成2048行列的两个矩阵相乘,进行数次矩阵相乘计算,则gpu压力测试结果数据中将包含反映计算能力的数值,控制节点可以将各目标待测服务器对应的计算能力数值与预设的通过基准数值进行比对,若各目标待测服务器的计算能力数值均大于或等于基准数值(或预设数量的目标待测服务器的计算能力数值大于基准数值),则可以将待测服务器集群的gpu压力测试状态确定为通过状态,否则为不通过状态。
87.在一些示例中,对服务器集群的gpu压力测试状态的判断策略,可以包括对每个目标待测服务器的测试结果数据与基准值进行比对,还可以进一步将服务器集群对应的当前测试结果数据,与历史测试结果数据进行比对。例如,可以将各目标待测服务器本次的测试结果数据进行平均计算,作为待测服务器集群的当前测试结果数据,然后计算当前测试结果数据与待测服务器集群的历史测试结果数据的差异度(如二者的差值),若差异度大于预设阈值,则可以将服务器集群的测试状态确定为不通过状态,若差异度小于或等于预设阈
值,且各目标待测服务器的测试结果数据大于或等于基准值,则可以将待测服务器集群的测试状态确定为通过状态。
88.进一步的,控制节点可以将各目标待测服务器的gpu测试结果数据、待测服务器集群的测试状态和/或测试基础信息(如测试程序名称、测试时间等)进行图形化展示,还可以直接发送给测试工程师的邮箱,以便测试工程师直观、全面地了解测试情况。
89.本实施例中,控制节点可以获取各待测服务器执行gpu压力测试的测试日志,然后基于测试日志中包含的gpu压力测试结果数据判断待测服务器集群的gpu压力测试状态,由此实现自动确定测试状态,提高gpu压力测试的整体效率,且确定出的测试状态可以准确地反映出测试情况。
90.在一个实施例中,如图4所示,上述步骤302中确定gpu压力测试状态的过程具体包括如下步骤:
91.步骤401,根据待测服务器集群中的各目标待测服务器的型号信息,将各目标待测服务器划分为多个子集群。
92.其中,每个子集群包含的各目标待测服务器的型号信息相同,型号信息至少包括gpu型号信息。
93.在实施中,控制节点可以根据待测服务器集群中的各目标待测服务器的型号信息对目标待测服务器进行分组,将型号信息相同的待测服务器划分至同一子集群。型号信息至少包括gpu型号信息,还可以包括其他关键部件(如cpu、内存等)的型号信息,即可以将配置全部相同或部分关键配置相同的服务器划分至同一子集群。
94.步骤402,针对每个子集群,根据子集群中各目标待测服务器对应的gpu压力测试结果数据确定子集群对应的测试差异度。
95.在实施中,控制节点可以将每个子集群中的各目标待测服务器对应的gpu压力测试结果数据确定各子集群对应的测试差异度。各子集群对应的测试差异度表示该子集群内各目标待测服务器的gpu压力测试结果数据的波动情况。例如,如前述示例中,gpu压力测试结果数据中包含反映计算能力的数值,则控制节点可以将各子集群中目标待测服务器对应的计算能力的最大数值和最小数值的差值,作为该子集群对应的测试差异度,或将该差值与最大数值(或最小数值)的比值,作为该子集群对应的测试差异度。可以理解的,确定每个子集群的测试差异度时采用的方法应相同。
96.步骤403,在每个子集群对应的测试差异度均不大于预设阈值的情况下,将待测服务器集群的gpu压力测试状态确定为通过状态。
97.在实施中,控制节点确定出各子集群对应的测试差异度后,可以将各测试差异度与预设阈值进行比较。若每个子集群的测试差异度均不大于(即均小于或等于)预设阈值,则可以将待测服务器集群的gpu压力测试状态确定为通过状态;若至少一个子集群的测试差异度大于预设阈值,则可以将待测服务器集群的gpu压力测试状态确定为不通过状态。在其他示例中,也可以在预设数量个子集群(如总数量的90%)的测试差异度不大于预设阈值的情况下,将待测服务器集群的gpu压力测试状态确定为通过状态。可以理解的,控制节点还可以分别确定出每个子集群的子测试状态(若子集群的测试差异度不大于预设阈值,则子测试状态为通过状态,否则为不通过状态),从而可以将各子集群的子测试状态和总的待测服务器集群的测试状态均反馈给测试工程师,以便测试工程师全面了解测试情况。
98.可选的,若控制节点确定出待测服务器集群的gpu压力测试状态为不通过状态,则控制节点还可以调度待测服务器集群中的各目标待测服务器再次执行gpu压力测试,即进行重测,若根据重测的测试结果数据确定出gpu压力测试状态为通过状态,或达到预设的重测次数,则停止测试。由此,确定出的gpu压力测试状态的置信度较高。
99.本实施例中,通过将型号信息相同的目标待测服务器划分至同一子集群,根据每个子集群中各目标待测服务器的gpu压力测试结果数据确定出测试差异度,测试差异度可以示出该子集群内各待测服务器的gpu压力测试结果数据的波动大小,若波动较大,说明待测服务器集群中各目标待测服务器的抗压性能或稳定性不均衡,将影响待测服务器集群整体的稳定运行,因而根据各子集群的测试差异度确定出的待测服务器集群的gpu压力测试状态,可以准确反映出待测服务器集群的gpu压力测试情况。
100.在一个实施例中,如图5所示,还提供了可以应用于待测服务器的一种服务器压力测试方法,包括以下步骤:
101.步骤501,响应于控制节点发送的组件安装指令,确定组件安装指令包含的目标组件的索引信息。
102.在实施中,待测服务器在接收到控制节点发送的组件安装指令的情况下,可以响应于该指令,确定组件安装指令包含的目标组件的索引信息。其中,目标组件的索引信息为控制节点根据预设的组件匹配策略,在各组件信息中确定出的与待测服务器的gpu型号信息匹配的信息。控制节点确定该待测服务器对应的目标组件的索引信息的过程详见前述实施例中的描述,在此不再赘述。
103.步骤502,根据目标组件的索引信息,从容器镜像仓库中获取索引信息对应的镜像文件,并基于镜像文件安装目标组件。
104.在实施中,待测服务器确定出组件安装指令包含的索引信息后,可以根据该索引信息,从容器镜像仓库中获取对应的镜像文件,并基于该镜像文件安装目标组件。容器镜像仓库预先存放有各目标组件的镜像文件,每个镜像文件与一个索引信息唯一对应。
105.步骤503,响应于控制节点发送的gpu压力测试指令,基于gpu压力测试指令包含的测试程序信息执行gpu压力测试。
106.在实施中,待测服务器在接收到控制节点发送的gpu压力测试指令的情况下,可以响应于该指令,确定其包含的测试程序信息,然后基于该测试程序信息执行gpu压力测试。测试程序信息可以是测试程序本身,也可以是测试程序的索引信息。若是测试程序本身,目标待测服务器则可以直接运行该测试程序,以执行gpu压力测试;若是测试程序的索引信息,则目标待测服务器可以从容器镜像仓库中获取测试程序的镜像文件,并基于该镜像文件执行gpu压力测试。
107.本实施例中,通过待测服务器接收控制节点发送的组件安装指令,根据组件安装指令包含的目标组件的索引信息,从容器镜像仓库中获取目标组件的镜像文件后安装目标组件,其中,目标组件的索引信息是控制节点根据预设的组件匹配策略,在各组件信息中确定出的与待测服务器的gpu型号信息匹配的信息,从而实现待测服务器的gpu相关软件组件的自动部署,相比手动部署,部署的准确性高,以保障gpu压力测试的顺利进行,且部署效率高,从而可以提高服务器的gpu压力测试成功率和测试效率。
108.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头
的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
109.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的服务器压力测试方法的服务器压力测试系统。该系统所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个服务器压力测试系统实施例中的具体限定可以参见上文中对于服务器压力测试方法的限定,在此不再赘述。
110.在一个实施例中,提供了一种服务器压力测试系统,包括控制节点、待测服务器集群和容器镜像仓库,待测服务器集群包含若干目标待测服务器,其中:
111.控制节点,用于获取待测服务器集群中各目标待测服务器对应的gpu型号信息;针对每个目标待测服务器,根据预设的组件匹配策略,在各组件信息中确定与目标待测服务器的gpu型号信息匹配的目标组件的索引信息,并向目标待测服务器发送包含索引信息的组件安装指令。
112.目标待测服务器,用于响应于控制节点发送的组件安装指令,根据组件安装指令包含的索引信息,从容器镜像仓库中获取索引信息对应的镜像文件,并基于镜像文件安装目标组件。
113.控制节点还用于向各安装目标组件后的目标待测服务器发送包含测试程序信息的gpu压力测试指令。
114.目标待测服务器还用于响应于控制节点发送的gpu压力测试指令,基于gpu压力测试指令包含的测试程序信息,执行gpu压力测试。
115.在一个实施例中,控制节点还用于向待测服务器集群中的各目标待测服务器发送包含gpu型号查询程序信息的gpu型号查询指令。
116.目标待测服务器还用于响应于控制节点发送的gpu型号查询指令,基于gpu型号查询指令包含的gpu型号查询程序信息确定本地的gpu型号信息,并反馈本地的gpu型号信息。
117.控制节点还用于接收各目标待测服务器发送的gpu型号信息。
118.在一个实施例中,控制节点还用于获取各目标待测服务器执行gpu压力测试的测试日志,测试日志包含各目标待测服务器对应的gpu压力测试结果数据;根据各gpu压力测试结果数据和预设的测试状态判断策略,确定待测服务器集群的gpu压力测试状态,gpu压力测试状态包括通过状态和不通过状态。
119.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的服务器压力测试方法的服务器压力测试装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个服务器压力测试装置实施例中的具体限定可以参见上文中对于服务器压力测试方法的限定,在此不再赘述。
120.在一个实施例中,如图6所示,提供了一种服务器压力测试装置600,包括:第一获取模块601、第一发送模块602和第二发送模块603,其中:
121.第一获取模块601,用于获取待测服务器集群中各目标待测服务器对应的图形处
理器gpu型号信息。
122.第一发送模块602,用于针对每个目标待测服务器,根据预设的组件匹配策略,在各组件信息中确定与目标待测服务器的gpu型号信息匹配的目标组件的索引信息,并向目标待测服务器发送包含索引信息的组件安装指令,组件安装指令用于指示目标待测服务器从容器镜像仓库中安装索引信息对应的目标组件。
123.第二发送模块603,用于向各安装目标组件后的目标待测服务器发送包含测试程序信息的gpu压力测试指令,gpu压力测试指令用于指示各目标待测服务器基于测试程序信息执行gpu压力测试。
124.在一个实施例中,第一获取模块601具体用于:向待测服务器集群中的各目标待测服务器发送包含gpu型号查询程序信息的gpu型号查询指令,gpu型号查询指令用于指示各目标待测服务器根据gpu型号查询程序信息确定本地的gpu型号信息,并反馈本地的gpu型号信息;接收各目标待测服务器发送的gpu型号信息。
125.在一个实施例中,该装置还包括第二获取模块和确定模块,其中:
126.第二获取模块,用于获取各目标待测服务器执行gpu压力测试的测试日志,测试日志包含各目标待测服务器对应的gpu压力测试结果数据。
127.确定模块,用于根据各gpu压力测试结果数据和预设的测试状态判断策略,确定待测服务器集群的gpu压力测试状态,gpu压力测试状态包括通过状态和不通过状态。
128.在一个实施例中,确定模块具体用于:根据待测服务器集群中的各目标待测服务器的型号信息,将各目标待测服务器划分为多个子集群,每个子集群包含的各目标待测服务器的型号信息相同,型号信息至少包括gpu型号信息;针对每个子集群,根据子集群中各目标待测服务器对应的gpu压力测试结果数据确定子集群对应的测试差异度;在每个子集群对应的测试差异度均不大于预设阈值的情况下,将待测服务器集群的gpu压力测试状态确定为通过状态。
129.在一个实施例中,如图7所示,还提供了另一种服务器压力测试装置700,该装置包括确定模块701、安装模块702和测试模块703,其中:
130.确定模块701,用于响应于控制节点发送的组件安装指令,确定组件安装指令包含的目标组件的索引信息;目标组件的索引信息为控制节点根据预设的组件匹配策略,在各组件信息中确定出的与待测服务器的gpu型号信息匹配的信息。
131.安装模块702,用于根据目标组件的索引信息,从容器镜像仓库中获取索引信息对应的镜像文件,并基于镜像文件安装目标组件。
132.测试模块703,用于响应于控制节点发送的gpu压力测试指令,基于gpu压力测试指令包含的测试程序信息执行gpu压力测试。
133.在一个实施例中,该装置还包括查询模块和发送模块,其中:
134.查询模块,用于响应于控制节点发送的gpu型号查询指令,基于gpu型号查询指令包含的gpu型号查询程序信息确定本地的gpu型号信息。
135.发送模块,用于向控制节点发送本地的gpu型号信息。
136.上述服务器压力测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
137.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行上述服务器压力测试方法所需的或产生的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种服务器压力测试方法。
138.本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
139.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
140.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
141.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
142.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
143.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
144.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
145.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并
不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表