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

压力测试方法、装置、系统、电子设备、存储介质及产品与流程

2021-11-03 14:53:00 来源:中国专利 TAG:


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.图1是根据本公开提供的用于压力测试方法的第一网络架构的示意图;
36.图2是根据本公开提供的用于压力测试方法的第二网络架构的示意图;
37.图3是根据本公开第一实施例的一种压力测试方法的流程图;
38.图4是根据本公开第二实施例的又一种压力测试方法的流程图;
39.图5是根据本公开第三实施例的又一种压力测试方法的流程图;
40.图6是根据本公开第四实施例的又一种压力测试方法的流程图;
41.图7是根据本公开第五实施例的又一种压力测试方法的流程图
42.图8是根据本公开第六实施例的又一种压力测试方法的流程图;
43.图9是根据本公开第七实施例的又一种压力测试方法的流程图;
44.图10是可以实现本公开实施例的压力测试场景图;
45.图11是根据本公开第八实施例的又一种压力测试方法的流程图;
46.图12是根据本公开第九实施例的一种压力测试装置的结构示意图;
47.图13是根据本公开第十实施例的一种压力测试装置的结构示意图;
48.图14是用来实现本公开实施例的压力测试的方法的电子设备的框图;
49.图15是根据本公开第十一实施例的一种压力测试系统的结构示意图。
具体实施方式
50.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
51.本公开提供一种压力测试方法、装置及系统、电子设备、存储介质,应用于人工智能中的智能服务测试领域,以达到提高测试精度的目的。
52.相关技术中,在人工智能算法可以被封装为对外提供智能计算的服务,可以称这些服务为智能服务。通常,智能服务可以配置于云服务器中,云服务器可以接收用户发起的服务请求,并利用配置的人工智能算法对该服务请求进行响应,获得计算结果。例如,人脸识别服务的服务端可以接收用户提供的图像,并识别图像中的人脸,进而识别用户身份。为了更好地提供智能服务,需要确认人工智能服务的服务端在同一时刻能够处理的服务请求的最大数量。通常,可以采用分布式压力测试方法测试服务端处理服务请求的最大处理数量时,可以使用压力测试集群对服务端的最大请求处理数量进行测试。压力测试集群可以包括控制节点以及多个发压节点。控制节点可以控制多个发压节点在同一时刻产生多个服务请求,并将多个发压节点各自的产生的服务请求同时发送至服务端。服务端接收多个发
压节点发起的多个服务请求,并对多个服务请求进行处理响应。通过获取服务端对多个服务请求的请求成功率、请求平均耗时等参数进行监控,以获得服务端的测试结果。但是,由于用户设置的请求数量通常较多,每个发压节点的请求发起数量也较多。受到发压节点的硬件资源的限制,各个发压节点实际产生的服务请求的请求数量可能并不能达到设定的请求数量,导致服务端不能接收到足够的服务请求,获得的测试结果不够准确。
53.为了解决该技术问题,发明人想到对参与发压的节点的硬件资源进行监控,以对节点硬件资源的使用情况进行准确把控,实现准确的发压控制。据此,发明人提出了本公开的技术方案。
54.本公开实施例中,确定对待测服务端进行压力测试的目标测试数据时,可以获取多个发压节点的硬件资源对应的资源使用信息,进而利用该资源使用信息,确定至少一个目标节点的目标节点信息,从而将目标节点信息以及目标测试数据发送至压力测试集群的控制节点。压力测试集群的控制节点通过目标节点信息确定至少一个目标节点,以利用目标测试数据控制至少一个目标节点对待测试服务端进行压力测试。通过监控多个发压节点的硬件资源对应的资源使用信息,可以及时了解多个发压节点的资源使用情况,准确获得可以参与测试的至少一个目标节点的目标节点信息,实现对参与压力测试的至少一个目标节点的准备把控,使得各个目标节点产生的服务请求数量更准确,获得准确的测试结果,提高测试效率。
55.图1是根据本公开提供的用于对待测服务端进行压力测试的第一网络架构示意图,如图1所示,该网络架构中可以包括一种典型的待测服务端1,待测服务端可以为配置有智能服务的云端。待测服务端1可以与压力测试集群2通过局域网或者广域网进行网络连接。压力测试集群2可以为主从式分布的集群,主节点,也即控制节点21,与多个发压节点22通过局域网或者广域网进行网络连接。压力测试集群2的控制节点21可以与电子设备3通过局域网或者广域网进行网络连接。电子设备3中可以配置根据本公开图2

图9所示任一实施例提供的压力测试方法。电子设备3可以获取压力测试集群2中多个发压节点22的硬件资源对应的资源使用信息,并利用资源使用信息,确定多个发压节点中至少一个目标节点的目标节点信息,以发送目标节点信息和对待测服务端1进行压力测试的目标测试数据发送至控制节点21。控制节点21以及多个发压节点22例如可以为计算机、服务器节点、云服务器节点等,本公开中对压力测试集群中各节点的具体类型并不作出过多限定。控制节点21中可以配置根据本公开图11所示实施例提供的压力测试方法,可以根据目标节点信息从多个发压节点22中确定至少一个目标节点,然后利用目标测试数据控制至少一个目标节点向待服务服务端发起压力测试。
56.图2是根据本公开提供的用于对待测服务端进行压力测试的第二网络架构的示意图,与图1的不同之处在于,压力测试集群2还可以与一监控节点4通过局域网或广域网建立网络连接。监控节点4可以检测压力测试集群2中的多个发压节点22中参与发压的至少一个目标节点的硬件资源对应的资源使用信息。监控节点4可以与电子设备3通过局域网或者广域网建立网络通信连接,通过网络将监控获得的资源使用信息发送至电子设备3中,供电子设备3利用资源使用信息确定多个发压节点中至少一个目标节点的目标节点信息。在实际应用中,为了节约硬件资源,监控节点4也可以为压力测试集群2中的任一节点,图2所示的监控节点4未设置于压力测试集群2中仅是为了说明需要存在一监控多个发压节点的终端,
该终端的具体配置可以根据实际的使用需求设置,图2所示示例仅仅是其中一种网络架构,并不应构成对本公开系统架构的具体限定。
57.下面将结合附图对本公开实施例的技术方案进行详细介绍。
58.如图3所示,为本公开第一实施例的一种压力测试方法的流程图,该方法可以包括以下几个步骤:
59.301:确定对待测服务端进行压力测试的目标测试数据。
60.本实施例中,在图1所示的网络结构中,本端设备可以为电子设备。在实际应用中,电子设备可以为笔记本、计算机、超级个人计算机、云服务器等,本公开实施例中对电子设备的具体类型并不作出过多限定。
61.待测服务端例如可以为图1中所示的云服务器,待测服务端可以对外提供测试服务。其中,可以通过提供对外接口,例如sdk(software development kit,软件开发工具包)或者api(application programming interface,应用程序编程接口)等方式与用户的用户端进行通信,接收服务请求,并基于配置的智能服务算法处理该服务请求,获得服务结果,将服务结果反馈给用户。
62.其中,目标测试数据可以为对待测服务端进行压力测试相关的至少一个测试数据。以图像识别场景为例,目标测试数据可以为需要进行图像识别测试的图像。以数据处理场景为例,目标测试数据可以为需要进行数据处理的原始测试数据。目标测试数据可以由发起待测服务端的测试请求的用户提供。
63.302:获取压力测试集群中多个发压节点的硬件资源对应的资源使用信息。
64.资源使用信息可以为前一次参与压力测试的至少一个历史目标节点的硬件资源的使用数据。
65.资源使用信息例如可以包括:各发压节点的cpu(central processing unit,中央处理器)使用信息、存储器(memory)使用信息和/或throughput(吞吐量)信息等。
66.303:利用资源使用信息,确定目标节点信息。
67.其中,目标节点信息用于确定多个发压节点中至少一个目标节点。
68.可选地,资源使用信息可以用于确定多个发压节点中参与此次发压测试的至少一个目标节点。目标节点信息可以包括节点数量。在一些应用场景中,目标节点信息还可以包括节点标识。
69.304:发送目标节点信息和目标测试数据至压力测试集群的控制节点,以指示控制节点利用目标测试数据控制至少一个目标节点向待测服务端发起压力测试。
70.目标节点信息和目标测试数据被电子设备发送至压力测试集群的控制节点。控制节点可以获取目标节点信息和目标测试数据。控制节点还可以根据目标节点信息从多个发压节点中确定至少一个目标节点,以利用目标测试数据控制至少一个目标节点向待测服务端发起压力测试。
71.其中,任一个目标节点可以接收控制节点发送的目标测试数据,并根据目标测试数据生成至少一个服务请求,将至少一个服务请求发送至待测服务器。可以将发送至待测服务器的至少一个服务请求称为请求流。
72.作为一种可能的实现方式,目标测试数据可以包括至少一个测试数据,任一个目标节点可以根据至少一个测试数据生成至少一个服务请求。在一种可选方式中,可以利用
每个测试数据生成一个服务请求,在另一种可选方式中,可以利用每个测试数据生成多个服务请求,以获得至少一个测试数据对应的至少一个服务请求。
73.本实施例中,确定对待测服务端进行压力测试的目标测试数据时,可以获取多个发压节点的硬件资源对应的资源使用信息,进而利用该资源使用信息,确定至少一个目标节点的目标节点信息,从而将目标节点信息以及目标测试数据发送至压力测试集群的控制节点。压力测试集群的控制节点通过节点信息确定至少一个目标节点,以利用目标测试数据控制至少一个目标节点对待测试服务端进行压力测试。通过监控多个发压节点的硬件资源对应的资源使用信息,可以及时了解多个发压节点的资源使用情况,准确获得可以参与测试的至少一个目标节点的目标节点信息,实现对参与压力测试的至少一个目标节点的准备把控,使得各个目标节点产生的服务请求数量更准确,获得准确的测试结果,提高测试效率。
74.待测服务端的压力测试可以由用户发起。图4是本公开第二实施例提供的压力测试方法的流程图,该方法可以包括以下几个步骤:
75.401:响应于用户针对待测服务端发起的压力测试请求,获取用户提供的压力测试信息。
76.可选地,可以提供一服务发起页面,用户可以通过该服务发起页面向电子设备发起压力测试请求。用户可以在服务发起页面中输入待测服务端的测试信息,例如可以包括待测服务端的服务接口或者服务地址等信息。用户还可以通过服务发起页面提供待测服务端的压力测试信息。
77.402:根据压力测试信息,确定参与压力测试的目标测试数据。
78.可选地,目标测试数据可以由用户提供的压力测试信息确定。目标测试数据还可以检测用户由用户直接上传获得。
79.403:获取压力测试集群中多个发压节点的硬件资源对应的资源使用信息。
80.404:利用资源使用信息,确定目标节点信息。
81.其中,目标节点信息用于确定多个发压节点中至少一个目标节点。
82.405:发送目标节点信息和目标测试数据至压力测试集群的控制节点,以指示控制节点利用目标测试数据控制至少一个目标节点向待测服务端发起压力测试。
83.本实施例是对图3所示实施例提供的压力测试方法中的步骤301进行了进一步细化,除步骤401~步骤402之外,本实施例的其他步骤的具体实施方式可以参考其他实施例记载的相关内容,在此不再一一赘述。
84.本实施例中,用户可以对待测服务端发起测试请求,通过与用户交互实现测试服务的对外提供,实现服务模块化,提供高效的测试服务,以提高测试效率。
85.作为一个实施例,步骤402根据压力测试信息,确定参与压力测试的目标测试数据的一种可选的实现方式如下:
86.解析压力测试信息,获取用户提供的压测需求信息以及数据存储地址;
87.按照压测需求信息,从数据存储地址对应存储空间中获取目标测试数据。
88.可选地,压测需求信息以及数据存储地址可以由用户在压力测试页面中提供。压测需求信息可以为用户针对待测服务端的服务内容设置的测试数据的选择信息。数据存储地址可以为电子设备可以访问到的地址链接,例如,磁盘地址、网盘地址、数据库访问地址、
网页地址等,本实施例中对数据存储地址的具体地址类型并不作出过多限定。
89.上述实施例中,涉及到目标测试数据的获取步骤中,按照压测需求信息,从数据存储地址对应存储空间中获取目标测试数据具体可以包括:
90.从数据存储地址对应存储空间拉取多个原始测试数据;
91.按照压测需求信息,从多个原始测试数据中选择目标测试数据。
92.目标测试数据可以为按照压测需求信息从多个原始测试数据中选择的满足压测需求的至少一个测试数据。
93.压测需求信息可以包括:数据选择条件,测试数据的数量,测试数据的类型等信息。
94.为了便于理解,以人脸识别为例,可以从数据存储地址对应存储空间拉取多个原始图像,多个原始图像中可以包括:人脸图像、风景图像、动物图像等。压测需求信息可以为:选择3张分辨率高于520*520的人脸图像。其中,选择条件为:分辨率高于520*520,测试数据的数量为3,测试数据的类型为人脸图像。此时,目标测试数据即可以为从人脸图像中选择的3张包含人脸且分辨率高于520*520的图像。
95.如图5所示,为本公开第三实施例提供的压力测试方法的流程图,该方法可以包括以下几个步骤:
96.501:确定对待测服务端进行压力测试的目标测试数据。
97.502:获取压力测试集群中多个发压节点的硬件资源对应的资源使用信息。
98.503:在多个发压节点未满足发压终止条件的情况下,利用资源使用信息,确定参与压力测试的发压节点的节点数量。
99.504:根据节点数量,生成目标节点信息。
100.其中,目标节点信息可以包括节点数量。
101.目标节点信息用于供控制节点根据节点数量从多个发压节点中确定至少一个目标节点。
102.此外,在一些实施例中,至少一个目标节点可以由电子设备确定也可以由控制节点确定。当电子设备确定至少一个目标节点时,电子设备可以根据节点数量,从多个发压节点中选择该节点数量个目标节点,并利用被选择的目标节点的节点标识以及节点数量,生成目标节点信息。当由控制节点确定至少一个目标节点时,目标节点信息中包括节点数量即可。
103.505:发送目标节点信息和目标测试数据至压力测试集群的控制节点,以指示控制节点利用目标测试数据控制至少一个目标节点向待测服务端发起压力测试。
104.本实施例是对图3所示实施例提供的压力测试方法中的步骤303进行了进一步细化,除步骤503~步骤504之外,本实施例的其他步骤的具体实施方式可以参考其他实施例记载的相关内容,在此不再一一赘述。
105.本实施例中,在获取压力测试集群中的多个发压节点的硬件资源的资源使用信息之后,可以在多个发压节点未满足发压终止条件的情况下,利用资源使用信息,确定参与压力测试的发压节点的节点数量,以根据节点数量,生成至少一个目标节点的节点数量。通过准确监控多个发压节点发压情况,可以对发压终止节点进行准确把控,从而在未达到发压终止条件时,利用资源使用信息,确定参与压力测试的发压节点的节点数量,以对参与发压
的至少一个目标节点的节点数量进行准确获取,实现精确测试,提高测试有效性以及测试精度。
106.在某些实施例中,为了对发压节点进行准确判断,在步骤505之后,该方法还可以包括:
107.在多个发压节点满足发压终止条件的情况下,停止对待测服务端进行压力测试。同时,可以输出压力测试失败的提示信息。
108.可选地,输出压力测试失败的提示信息可以包括:将压力测试失败的提示信息发送至用户端,以供用户端为用户展示压力测试失败的提示信息。
109.在停止对待测服务端进行压力测试之后,可以将节点数量恢复为第一次执行压力测试时的节点数量,也即初始节点数量。例如,通常,第一次执行压力测试时的节点数量为1时,可以恢复节点数量为1。以在用户再次发起压力测试时,从1个目标节点开始对待测服务端进行压力测试。
110.本实施例中,在多个发压节点满足发压终止条件时,可以停止对待测服务端的压力测试,输出压力测试失败的提示信息。在停止压力测试时,对用户进行提示,可以确保用户及时获知测试失败的结果,实现消息的及时通知,实现有效交互。
111.其中,为了对发压节点是否满足发压终止条件进行准确判断,多个发压节点是否满足发压终止条件的一种可选实施方式如下:
112.获取前一次压力测试时使用的至少一个目标节点的历史节点数量。
113.在历史节点数量小于多个发压节点的节点总量时,确定多个发压节点未满足发压终止条件。
114.在历史节点数量等于多个发压节点的节点总量时,确定多个发压节点满足发压终止条件。
115.节点总量可以为多个发压节点中可以参与发压的所有发压节点的节点数量,当多个发压节点均可以发压时,即可以为多个发压节点的节点数量。
116.本实施例中,采用对节点数量对多个发压节点的发压终止条件进行准确判断,直接采用节点数量的判断方式,简单准确,判断效率以及判断准确性较高。
117.其中,资源使用信息可以为压力测试集群的多个发压节点中当前参与测试的目标节点的硬件资源的使用数据。
118.具体地,资源使用信息可以包括:前一次压力测试时至少一个历史目标节点的每秒吞吐量,中央处理器的使用率,存储器的使用率中的至少一个。
119.本实施例中,将至少一个目标节点的每秒吞吐量,中央处理器的使用率以及存储器的使用率等信息对资源使用信息进行准确定义,以明确资源使用信息的具体内容,以利用更详细的资源使用信息进行后续的节点确定,条件判断等步骤的准确实现,对测试精度的进一步提高提供了保障。
120.资源使用信息和历史节点数量可以同时用于衡量多个发压节点当前是否达到发压终止条件。当历史节点数量小于多个发压节点的节点总量时,确定多个发压节点未满足发压终止条件。当历史节点数量等于多个发压节点的节点总量时,可以利用资源使用信息进一步判断多个发压节点是否满足发压终止条件。
121.其中,在历史节点数量等于多个发压节点的节点总量时,确定多个发压节点满足
发压终止条件可以包括:在历史节点数量等于多个发压节点的节点总量时,多个发压节点综合产生的每秒的吞吐量小于压测服务要求的qps(query per second,每秒查询量)并且所有发压节点的cpu或存储器的使用率均大于全部资源的85%时,确定多个发压节点满足发压终止条件。
122.在历史节点数量等于多个发压节点的节点总量时,多个发压节点综合产生的每秒的吞吐量大于压测服务要求的qps并且所有发压节点的cpu或存储器的使用率未全部大于全部资源的85%时,确定多个发压节点未满足发压终止条件,可以继续增加压测任务量,继续执行压测任务。特别是对于并发测试场景,可以继续执行在对待测服务端执行并发测试的情况下,确定并发测试的并发数量的步骤。
123.在获取到前一次压力测试时使用的至少一个目标节点的历史节点数量时,可以根据该历史节点数量计算当前的节点数量。因此,步骤504:在多个发压节点未满足发压终止条件的情况下,利用资源使用信息,确定参与压力测试的发压节点的节点数量具体可以包括:
124.在多个发压节点未满足发压终止条件的情况下,利用资源使用信息,确定需要增加的节点增量。
125.计算历史节点数量与节点增量之和,获得节点数量。
126.可选地,在历史节点数量小于多个发压节点的节点总量时,可以确定多个发压节点未满足发压终止条件。资源使用信息可以包括:前一次压力测试时至少一个历史目标节点的每秒吞吐量,中央处理器的使用率,存储器的使用率中的至少一个。在历史节点数量小于多个发压节点的节点总量时,利用资源使用信息,确定需要增加的节点数量可以包括:在历史节点数量小于多个发压节点的节点总量时,若至少一个历史目标节点达到其综合产生的每秒的吞吐量小于压测服务要求的qps(query per second,每秒查询量)并且所有发压节点的cpu或存储器的使用率均大于全部资源的85%时,计算至少一个历史目标节点的历史节点数量与节点增量之和,获得节点数量。
127.节点增量可以根据实际的使用需求设定,每次测试增加的节点数量。例如可以节点增量可以设置为1。
128.本实施例中,在多个发压节点未满足发压终止条件时,利用资源使用信息,确定多个发压节点至少一个目标节点的节点数量,使得节点数量与硬件资源的资源使用信息相关,获得的节点数量更准确,以该节点数量对应的至少一个目标节点进行压力测试时,产生的实际测试请求流不受硬件资源的影响,避免因硬件资源不够导致发压误差,提高测试精度。
129.在实际测试过程中,可以采用并发测试方式对待测服务端进行循环测试,从较小的任务量开始不断增加任务量,以对发压节点发出的服务流不段增加,实现对待测服务端的准确测试。
130.如图6所示,为本公开第四实施例提供的一种压力测试方法的流程图,该方法可以包括以下几个步骤:
131.601:确定对待测服务端进行压力测试的目标测试数据。
132.602:获取压力测试集群中多个发压节点的硬件资源对应的资源使用信息。
133.603:在对待测服务端执行并发测试的情况下,确定并发测试的并发数量。
134.604:在多个发压节点未满足发压终止条件的情况下,利用资源使用信息,确定参与压力测试的发压节点的节点数量。
135.605:根据节点数量,以及并发数量,确定至少一个目标节点分别执行并发任务的任务量。
136.可选地,任务量可以为对应目标节点启动的线程数量,每个线程启动时,可以根据目标测试数据产生服务请求。
137.至少一个目标节点分别执行的并发任务的任务量可以根据并发数量与节点数量的商以及余数确定。具体地,节点数量为k,并发数量为n为例,对于k个目标节点中的第i个目标节点,如果i>n%k(并发数量与节点数量的余数),则需要第i个目标节点执行的任务量为n/k(并发数量与节点数量的商取整数),如果i<=n%k,则需要第i个目标节点执行的任务量为n/k 1。其中,1<=i<=k;k、n以及i均为正整数。n/k为n与k的商取整。
138.606:根据节点数量以及至少一个目标节点分别执行并发任务的任务量,生成目标节点信息。
139.其中,目标节点信息用于供控制节点根据节点数量从多个发压节点中确定至少一个目标节点;利用目标测试数据控制至少一个目标节点按照各自的任务量,向待测服务端发起压力测试。
140.可选地,根据节点数量以及至少一个目标节点分别执行并发任务的任务量,生成至少一个目标节点的节点信息可以包括:获取至少一个目标节点分别执行的并发任务的任务量,获得至少一个任务量,将节点数量以及至少一个任务量打包以生成目标节点信息。控制节点接收目标节点信息之后,可以获取目标节点信息中的节点数量以及至少一个任务量,根据节点数量,从多个发压节点中选择至少一个目标节点,并将至少一个任务量,依次分发至至少一个目标节点,以供每个目标节点获得相应的任务量,并按照相应的任务量向待测服务端发起压力测试。
141.可选地,任一个目标节点按照各自的任务量向服务端发起压力测试具体可以为按照任务量启动相应数量的线程或进程,获得多个线程或进程,分别根据目标测试数据生成至少一个服务请求,以将所有线程或进程生成的所有服务请求,以请求流的方式同时发送至待测服务端。
142.607:发送目标节点信息和目标测试数据至压力测试集群的控制节点,以指示控制节点利用目标测试数据控制至少一个目标节点按照各自的任务量,向待测服务端发起压力测试。
143.可选地,至少一个目标节点分别执行的并发任务的任务量也可以由控制节点确定。控制节点确定至少一个目标节点之后,可以根据节点数量,以及并发数量,确定至少一个目标节点分别执行并发任务的任务量。在至少一个目标节点确定时,可以根据上述步骤605中所详细记载的任务量确定方法,确定每个目标节点的任务量,实现任务量的准确分配。
144.本实施例中,可以采用并发测试的方式对待测服务端进行压力测试。通过并发测试可以不断增加并发数量,实现对待测服务端的准确测试,控制节点的多并发。利用并发测试方式,可以实现快速并发。提高测试效率以及测试精度。
145.为了对待测服务端进行准确测试,可以对待测服务端直线循环的并发测试。每一
次并发测试的测试数量可以通过历史并发测试数量确定。作为一种可能的实现方式,在对待测服务端执行并发测试的情况下,确定并发测试的并发数量,包括:
146.在对待测服务端执行并发测试的情况下,获取前一次并发测试的历史并发数量;
147.根据历史并发数量,以及预置并发增量,确定并发测试的并发数量。
148.并发数量可以为历史并发数量与并发增量之和。
149.本实施例中,以设置并发增量的方式,对并发测试的并发数量进行准确计算,提高并发数量的获取效率以及准确度。
150.可选地,并发数量还可以根据并发次数以及单次并发数量相乘获得。
151.在实际应用中,可以设置最大并发数量。通过最大并发数量对并发条件进行了判断,在大于最大并发数量之前可以执行并发测试,在大于最大并发数量之后,停止执行并发测试。并发数量大于最大并发数量可以为并发数量小于或等于最大并发数量。
152.作为一个实施例,该方法还包括:
153.获取用户设置的最大并发数量以及并发增量;
154.根据节点数量,以及并发数量,确定至少一个目标节点分别执行并发任务的任务量,包括:
155.在并发数量未大于最大并发数量的情况下,根据节点数量,以及并发数量,确定至少一个目标节点分别执行并发任务的任务量。
156.本实施例中,通过对并发数量进行准确监控,可以实现对并发任务的准确分发,提高任务分发准确度,避免无效分发。
157.作为一种可选方式,为了准确获取节点数量以及并发数量。如图7所示,上述实施例中,步骤502获取压力测试集群中多个发压节点的硬件资源对应的资源使用信息可以包括:
158.701:获取压力测试集群前一次压力测试时至少一个历史目标节点的资源使用信息。
159.该资源使用信息可以包括:每秒吞吐量,中央处理器的使用率,存储器的使用率中的至少一个。
160.在执行步骤701之后,可以获取执行前述实施例中,判断多个发压节点是否满足终止条件,具体实施方式如下:
161.702:判断至少一个历史发压节点的节点数量是否达到节点总量,如果是,执行步骤703;如果否,执行步骤708。
162.703:判断至少一个历史目标节点是否达到其综合产生的每秒的吞吐量小于压测服务要求的qps并且所有发压节点的cpu或存储器的使用率均大于全部资源的85%,如果是,执行步骤704~705;如果否,执行步骤706~707。
163.确定参与压力测试的发压节点的节点数量的一种实施方式如下:
164.704:计算至少一个历史目标节点的历史节点数量与节点增量之和,获得节点数量。
165.确定并发测试的并发数量的一种实施方式如下:
166.705:确定参与压力测试的并发数量可以为前一次并发测试的历史并发数量。
167.在至少一个历史目标节点的硬件资源达到使用极限的情况下,可以增加节点数
量,并重新执行上次一次的压测任务。
168.确定参与压力测试的发压节点的节点数量的又一种实施方式如下:
169.706:确定至少一个历史目标节点的历史节点数量为节点数量。
170.确定并发测试的并发数量的又一种实施方式如下:
171.707:根据历史并发数量,以及预置并发增量,确定并发测试的并发数量。
172.在至少一个历史目标节点的硬件资源未达到使用极限的情况下,可以增加压力任务量,对发压节点的发压功能进行进一步开发。
173.708:判断至少一个历史目标节点是否达到其综合产生的每秒的吞吐量小于压测服务要求的qps并且所有发压节点的cpu或存储器的使用率均大于全部资源的85%,如果是,执行步骤709;如果否,执行步骤707。
174.709:停止对待测服务端进行压力测试,并输出压力测试失败的提示信息。
175.在步骤707或者步骤705执行结束,获取到节点数量以及并发数量之后,可以本公开实施例中其他步骤,例如,执行根据节点数量,以及并发数量,确定至少一个目标节点分别执行并发任务的任务量。还可以执行判断并发数量是否大于最大并发数量的步骤。
176.本实施例中对节点数量以及并发数量的具体获取方式进行了详细描述,关于其他未描述步骤与其他实施例中部分步骤相同,为了描述的简洁性考虑,在此不再赘述。
177.在对待测服务端发起压力测试之后,可以获取待测服务端的压力测试结果。如图8所示,为本公开第六实施例提供的一种压力测试方法的流程图,该方法可以包括以下几个步骤:
178.801:确定对待测服务端进行压力测试的目标测试数据。
179.802:获取压力测试集群中多个发压节点的硬件资源对应的资源使用信息。
180.803:利用资源使用信息,确定目标节点信息。其中,目标节点信息用于确定多个发压节点中至少一个目标节点。
181.804:发送目标节点信息和目标测试数据至压力测试集群的控制节点,以指示控制节点利用目标测试数据控制至少一个目标节点向待测服务端发起压力测试。
182.805:获取至少一个目标节点向待测服务端发起压力测试对应的压力测试结果。
183.其中,压力测试结果可以为待测服务端对请求流的处理数据,压力测试结果可以包括:请求成功率,平均处理耗时等数据。
184.本实施例中,在向待测服务端发起压力测试之后,可以获取至少一个目标节点向待测服务端发起压力测试对应的压力测试结果。通过获取待测服务端的压力测试结果,完成压力测试,获得准确的测试结果。
185.其中,可以利用压力测试结果对待测服务器是否满足测试终止条件进行判断。在执行步骤805:获取至少一个目标节点向待测服务端发起压力测试对应的压力测试结果之后,该方法还可以包括:
186.在待测服务端不满足测试终止条件的情况下,对待测服务端发起压力测试,返回至获取压力测试集群中多个发压节点的硬件资源对应的资源使用信息继续执行。
187.本实施例中,在待测服务端不满足测试终止条件的情况下,可以对待测服务端继续进行压力测绘,以通过不断测试方式获得待测服务端更准确的测试结果。
188.作为一个实施例,发送目标节点信息和目标测试数据至压力测试集群的控制节
点,以指示控制节点利用目标测试数据控制至少一个目标节点向待测服务端发起压力测试之后,该方法还包括:
189.获取至少一个目标节点向待测服务端发起压力测试对应的压力测试结果;
190.根据压力测试结果,判断待测服务端是否满足测试终止条件;
191.在待测服务端不满足测试终止条件的情况下,对待测服务端发起压力测试;和/或在待测服务端满足测试终止条件的情况下,停止对待测服务端发起压力测试,并为用户输出压力测试结果。本实施例中,在获取压力测试结果时,可以根据压力测试结果判断针对待测服务器的压力测试是否终止,在不满足测试终止条件时,可以对待测服务端继续发起测试,以循环测试方式不断对待测服务端的处理极限进行测试,获得的测试结果相对单次测试更准确,提高测试结果的准确性。
192.在一种可能的设计中,在待测服务端满足测试终止条件的情况下,停止对待测服务端发起压力测试,并为用户输出压力测试结果。
193.本实施例中,在待测服务端满足测试终止条件时,可以停止对用户进行压力测试。实现对压力测试的准确控制。
194.上述实施例中,发送目标节点信息和目标测试数据至压力测试集群的控制节点,可以包括:
195.根据目标节点信息和目标测试数据,生成压力测试指令;
196.发送压力测试指令至压力测试集群的控制节点。
197.本实施例中,在获取到目标节点信息和目标测试数据之后,可以将目标节点信息和目标测试数据以压力测试指令的形式发送至压力测试集群的控制节点,信息传输效率更高,实现指令方式的准确测试。
198.为了对本公开的技术方案进行详细介绍,如图9所示,为本公开第七实施例提供的一种压力测试方法的流程图,该方法可以包括以下几个步骤:
199.901:确定对待测服务端进行压力测试的目标测试数据。
200.本实施例中各个步骤的具体实现方式与上述实施例中相同步骤的实现方式相同,为了描述的简洁性考虑,在此不再赘述。
201.902:获取压力测试集群中前一次至少一个历史发压节点的硬件资源对应的资源使用信息。
202.903:判断至少一个历史发压节点是否达到节点总量,如果是,执行904,如果否,执行906。
203.904:利用资源使用信息,确定参与压力测试的发压节点的节点数量。
204.905:获取用户设置的最大并发数量,之后执行907。
205.其中,目标节点信息用于供控制节点根据节点数量从多个发压节点中确定至少一个目标节点。
206.906:停止对待测服务端进行压力测试,并输出压力测试失败的提示信息。
207.907:在对待测服务端执行并发测试的情况下,确定并发测试的并发数量。
208.908:判断并发数量是否大于最大并发数量,如果是,执行步骤906,如果否,执行步骤909。
209.909:根据节点数量,以及并发数量,确定至少一个目标节点分别执行并发任务的
任务量。
210.910:根据节点数量以及至少一个目标节点分别执行并发任务的任务量,生成目标节点信息。
211.目标节点信息中可以包括节点数量以及至少一个目标节点分别执行并发任务的任务量。
212.911:发送目标节点信息和目标测试数据至压力测试集群的控制节点,以指示控制节点利用目标测试数据控制至少一个目标节点按照各自的任务量,向待测服务端发起压力测试。
213.912:获取至少一个目标节点向待测服务端发起压力测试对应的压力测试结果。
214.913:根据压力测试结果,判断待测服务端是否满足测试终止条件,如果是,返回执行步骤902;如果否;执行步骤914。
215.914:停止对待测服务端发起压力测试,并为用户输出压力测试结果。
216.本实施例中,在压力测试过程中,对发压节点的发压终止条件、测试方式、并发执行条件以及是否达到待测服务端的测试终止条件均进行了判断,实现多流程的压力测试,对待测服务端的压力测试过程进行精准检测,提高压力测试的准确性以及有效性。
217.为了便于理解,图10对本公开的技术方案的应用场景进行了说明。参考图10,配置有本公开提供的压力测试方法的电子设备m2可以向用户提供压力测试服务。用户可以利用终端设备使用电子设备m2提供的压力测试服务,以终端设备为手机m1为例。手机m1与电子设备m2建立通信连接之后,用户可以使用手机m1发起压力测试请求。此时,用户可以通过手机m1将压力测试信息、并发测试类型以及并发测试的最大数量等信息以压力测试请求的方式发送至电子设备m2。电子设备m2可以获取用户提供的压力测试信息、并发测试类型以及并发测试的最大数量等信息。电子设备m2与压力测试集群m3之间可以建立通信连接。电子设备m2可以确定进行压力测试的目标测试数据,以及获取压力测试集群m3中多个发压节点的硬件资源对应的资源使用信息。然后利用资源使用信息,确定多个发压节点中的至少一个目标节点的目标节点信息。电子设备m2可以将目标节点信息及目标测试数据发送至压力测试集群m3。压力测试集群m3接收到目标节点信息之后,可以确定至少一个目标节点,并利用目标测试等信息向待测服务端m4发起压力测试,此时,至少一个目标节点将请求流发送至待测服务端m4。
218.此外,在实际应用中,电子设备m2可以从监控节点m5获取多个发压节点的硬件资源的资源使用信息。具体可以设置对压力测试集群m3的多个发压节点的硬件资源使用情况进行监控的监控节点m5。监控节点m5可以获取多个发压节点的硬件资源的使用情况,以生成资源使用信息,将资源使用信息发送至电子设备m2。
219.如图11所示,为本公开第八实施例提供的一种压力测试方法的流程图,该方法可以包括以下几个步骤:
220.1101:获取目标节点信息和目标测试数据。
221.其中,目标节点信息为基于压力测试集群中多个发压节点的硬件资源对应资源使用信息,从多个发压节点中确定的至少一个目标节点的信息。
222.本实施例的技术方案可以应用于压力测试集群的控制节点中,关于控制节点所执行的各个步骤的相关描述,已在上述实施例中详细描述,为了描述的简洁性考虑,在此不再
赘述。
223.1102:根据目标节点信息,从多个发压节点中确定至少一个目标节点。
224.1103:利用目标测试数据控制至少一个目标节点向待测服务端发起压力测试。
225.本实施例中,控制节点可以获取目标节点信息和目标测试数据。而目标节点信息是基于压力测试集群中多个发压节点的硬件资源对应资源使用信息。从多个发压节点中确定的至少一个目标节的信息。根据该目标节点信息可以从多个发压节点中确定至少一个目标节点,以利用目标测试数据控制至少一个目标节点对待测试服务端进行压力测试。通过监控多个发压节点的硬件资源对应的资源使用信息,可以及时了解多个发压节点的资源使用情况,准确获得可以参与测试的至少一个目标节点的目标节点信息,实现对参与压力测试的至少一个目标节点的准备把控,使得各个目标节点产生的服务请求数量更准确,获得准确的测试结果,提高测试效率。
226.作为一个实施例,获取目标节点信息和目标测试数据包括:
227.接收压力测试指令;
228.解析压力测试指令,获取目标节点信息以及目标测试数据。
229.本实施例中,目标节点信息和目标测试数据以压力测试指令的方式被发送至控制节点之后,控制节点可以解析压力测试指令,并获取目标节点信息以及目标测试数据。通过压压力测试指令的设置可以使得控制节点确定目标节点信息以及目标测试数据,确保测试程序的彻底执行,提高测试的稳定性。
230.在某些实施例中,目标节点信息包括节点数量。根据目标节点信息,从多个发压节点中确定至少一个目标节点,可以包括:
231.根据节点数量从多个发压节点中确定至少一个目标节点。
232.本实施例中,目标节点信息中可以包括节点数量,进而控制节点可以根据节点数据从多个发压节点中确定至少一个目标节点,实现至少一个目标节点的准确获取,确保参与压力测试的目标节点均可以正常发起测试,确保测试能够有效执行。
233.在一种可能的设计中,目标节点信息可以包括节点数量和任务量;利用目标测试数据控制至少一个目标节点向待测服务端发起压力测试,可以包括:
234.利用目标测试数据控制至少一个目标节点按照各自的任务量,向待测服务端发起压力测试。
235.本实施例中,在任务量确定时,可以明确每个发压节点的工作量,以实现准确发压,实现准确的压力测试。
236.其中,利用目标测试数据控制至少一个目标节点向待测服务端发起压力测试可以包括:
237.将目标测试数据分别发送至至少一个目标节点,以供至少一个目标节点分别利用目标测试数据向待测服务端发起压力测试。
238.本实施例中,将目标测试数据分别发送至至少一个目标节点,使得各目标节点可以获取到目标测试数据,确保压力测试的有效执行,实现稳定测试。
239.如图12所示,为本公开第九实施例提供的一种压力测试装置的一个实施例的结构示意图,该用于服务端最大处理流量进行压力测试的压力测试装置1200可以包括以下几个步骤:
240.数据确定单元1201:用于确定对待测服务端进行压力测试的目标测试数据。
241.信息获取单元1202:用于获取多个发压节点的硬件资源对应的资源使用信息。
242.节点选择单元1203:用于利用资源使用信息,确定目标节点信息。
243.其中,目标节点信息用于确定多个发压节点中至少一个目标节点。
244.测试控制单元1204:用于发送目标节点信息和目标测试数据至压力测试集群的控制节点,以指示控制节点利用目标测试数据控制至少一个目标节点向待测服务端发起压力测试。
245.本实施例中,确定对待测服务端进行压力测试的目标测试数据时,可以获取多个发压节点的硬件资源对应的资源使用信息,进而利用该资源使用信息,确定至少一个目标节点的目标节点信息,从而将目标节点信息以及目标测试数据发送至压力测试集群的控制节点。压力测试集群的控制节点通过节点信息确定至少一个目标节点,以利用目标测试数据控制至少一个目标节点对待测试服务端进行压力测试。通过监控多个发压节点的硬件资源对应的资源使用信息,可以及时了解多个发压节点的资源使用情况,准确获得可以参与测试的至少一个目标节点的目标节点信息,实现对参与压力测试的至少一个目标节点的准备把控,使得各个目标节点产生的服务请求数量更准确,获得准确的测试结果,提高测试效率。
246.作为一个实施例,数据确定单元可以包括:
247.请求响应模块,用于响应于用户针对待测服务端发起的压力测试请求,获取用户提供的压力测试信息;
248.数据确定模块,用于根据压力测试信息,确定参与压力测试的目标测试数据。
249.作为一种可能的实现方式,数据确定模块包括:
250.信息解析子模块,用于解析压力测试信息,获取用户提供的压测需求信息以及数据存储地址;
251.数据拉取子模块,用于按照压测需求信息,从数据存储地址对应存储空间中获取目标测试数据。
252.在一种可能的设计中,数据拉取子模块具体可以用于:
253.从数据存储地址对应存储空间拉取多个原始测试数据;按照压测需求信息,从多个原始测试数据中选择目标测试数据。
254.在某些实施例中,节点选择单元可以包括:
255.第一处理模块,用于在多个发压节点未满足发压终止条件的情况下,利用资源使用信息,确定参与压力测试的发压节点的节点数量;
256.信息生成模块,用于根据节点数量,生成目标节点信息;
257.其中,目标节点信息用于供控制节点根据节点数量从多个发压节点中确定至少一个目标节点。
258.作为一种可能的实现方式,节点选项单元可以包括:
259.第二处理模块,用于在多个发压节点满足发压终止条件的情况下,停止对待测服务端进行压力测试,并输出压力测试失败的提示信息。
260.在某些实施例中,节点选择单元可以包括:
261.数量获取模块,用于获取前一次压力测试时使用的至少一个目标节点的历史节点
数量;
262.第一确定模块,用于在历史节点数量未达到多个发压节点的节点总量时,确定多个发压节点未满足发压终止条件;
263.第二确定模块,用于在历史节点数量达到多个发压节点的节点总量时,确定多个发压节点满足发压终止条件。
264.在一种可能的设计中,第一处理模块可以包括:
265.历史确定子模块,用于在多个发压节点未满足发压终止条件的情况下,利用资源使用信息,确定需要增加的节点增量;
266.节点计算子模块计算历史节点数量与节点增量之和,获得节点数量。
267.为了达到准确的测试效果,压力测试的测试类型包括并发测试;该装置还可以包括:
268.并发确定单元,用于在对待测服务端执行并发测试的情况下,确定并发测试的并发数量;
269.任务分配单元,用于根据节点数量,以及并发数量,确定至少一个目标节点分别执行并发任务的任务量;
270.信息生成模块包括:
271.信息生成子模块,用于根据节点数量以及任务量,生成目标节点信息;
272.其中,目标节点信息用于供控制节点根据节点数量从多个发压节点中确定至少一个目标节点;利用目标测试数据控制至少一个目标节点按照各自的任务量,向待测服务端发起压力测试。
273.作为一个实施例,并发确定单元可以包括:
274.并发获取模块,用于在对待测服务端执行并发测试的情况下,获取前一次并发测试的历史并发数量;
275.并发计算模块,用于根据历史并发数量,以及预置并发增量,确定并发测试的并发数量。
276.在某些实施例中,还可以包括:
277.用户设置单元,用于获取用户设置的最大并发数量以及并发增量;
278.任务分配单元可以包括:
279.任务分配模块,用于在并发数量未达到最大并发数量的情况下,根据节点数量,以及并发数量,确定至少一个目标节点分别执行并发任务的任务量。
280.在某些实施例中,资源使用信息包括:前一次压力测试时至少一个历史目标节点的每秒吞吐量、中央处理器的使用率、存储器的使用率中的至少一个。
281.作为又一个实施例,该装置还可以包括:
282.结果获取单元,用于获取至少一个目标节点向待测服务端发起压力测试对应的压力测试结果。
283.在某些实施例中,该装置还可以包括:
284.测试判断单元,用于根据压力测试结果,判断待测服务端是否满足测试终止条件;
285.测试发起单元,用于在待测服务端不满足测试终止条件的情况下,对待测服务端发起压力测试,跳转至消息获取单元继续执行。
286.在一种可能的设计中,该装置还可以包括:
287.测试终止单元,用于在待测服务端满足测试终止条件的情况下,停止对待测服务端发起压力测试,并为用户输出压力测试结果。
288.作为又一个实施例,其中,测试控制单元可以包括:
289.指令生成模块,用于根据目标节点信息和目标测试数据,生成压力测试指令;
290.指令发送模块,用于发送压力测试指令至压力测试集群的控制节点。
291.本实施例提供的基于压力测试装置可以执行前述图1等所示方法实施例的技术方案,其实现原理和技术效果与前述图1等所示方法实施例类似,在此不再一一赘述。
292.如图13所示,为本公开第十实施例提供的一种压力测试装置的一个实施例的结构示意图,该用于服务端最大处理流量进行测试的压力测试装置1300可以包括以下几个步骤:
293.第一获取单元1301:用于获取目标节点信息和目标测试数据;其中,目标节点信息为基于压力测试集群中多个发压节点的硬件资源对应资源使用信息,从多个发压节点中确定的至少一个目标节点的信息;
294.节点确定单元1302:用于根据目标节点信息,从多个发压节点中确定至少一个目标节点;
295.测试控制单元1303:用于利用目标测试数据控制至少一个目标节点向待测服务端发起压力测试。
296.本实施例中,控制节点可以获取目标节点信息和目标测试数据。而目标节点信息是基于压力测试集群中多个发压节点的硬件资源对应资源使用信息。从多个发压节点中确定的至少一个目标节的信息。根据该目标节点信息可以从多个发压节点中确定至少一个目标节点,以利用目标测试数据控制至少一个目标节点对待测试服务端进行压力测试。通过监控多个发压节点的硬件资源对应的资源使用信息,可以及时了解多个发压节点的资源使用情况,准确获得可以参与测试的至少一个目标节点的目标节点信息,实现对参与压力测试的至少一个目标节点的准备把控,使得各个目标节点产生的服务请求数量更准确,获得准确的测试结果,提高测试效率。
297.作为一个实施例,第一获取单元可以包括:
298.指令接收模块,用于接收压力测试指令;
299.指令解析模块,用于解析压力测试指令,获取目标节点信息以及目标测试数据。
300.在一种可能的设计中,目标节点信息包括节点数量;节点确定单元包括:
301.第一确定模块,用于根据节点数量从多个发压节点中确定至少一个目标节点。
302.在某些实施例中,目标节点信息包括节点数量和任务量;测试控制单元包括:
303.压力测试模块,用于利用目标测试数据控制至少一个目标节点按照各自的任务量,向待测服务端发起压力测试。
304.在某些实施例中,测试控制单元可以包括:
305.测试控制单元,用于将目标测试数据分别发送至至少一个目标节点,以供至少一个目标节点分别利用目标测试数据向待测服务端发起压力测试。
306.本实施例提供的基于压力测试装置可以执行图11所示方法实施例的技术方案,其实现原理和技术效果与图11所示方法实施例类似,在此不再一一赘述。
307.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
308.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
309.根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
310.图14示出了可以用来实施本公开图1~图9或者图11所示任一实施例的电子设备1400的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
311.如图14所示,设备1400包括计算单元1401,其可以根据存储在只读存储器(rom)1402中的计算机程序或者从存储单元1408加载到随机访问存储器(ram)1403中的计算机程序,来执行各种适当的动作和处理。在ram 1403中,还可存储设备1400操作所需的各种程序和数据。计算单元1401、rom 1402以及ram 1403通过总线1404彼此相连。输入/输出(i/o)接口1405也连接至总线1404。
312.设备1400中的多个部件连接至i/o接口1405,包括:输入单元1406,例如键盘、鼠标等;输出单元1407,例如各种类型的显示器、扬声器等;存储单元1408,例如磁盘、光盘等;以及通信单元1409,例如网卡、调制解调器、无线通信收发机等。通信单元1409允许设备1400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
313.计算单元1401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1401的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1401执行上文所描述的各个方法和处理,例如压力测试方法。例如,在一些实施例中,压力测试方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1408。在一些实施例中,计算机程序的部分或者全部可以经由rom 1402和/或通信单元1409而被载入和/或安装到设备1400上。当计算机程序加载到ram 1403并由计算单元1401执行时,可以执行上文描述的压力测试方法的一个或多个步骤。备选地,在其他实施例中,计算单元1401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行压力测试方法。
314.如图15所示,为根据本公开第十一实施例提供的一种压力测试系统的结构示意图,该系统1500可以包括:
315.电子设备1501,以及与电子设备1501连接的压力测试集群1502,压力测试集群1502可以包括控制节点15021以及多个发压节点15022;多个发压节点15022与待测服务端1503连接;
316.电子设备1501用于:确定对待测服务端进行压力测试的目标测试数据;获取压力
测试集群1502中多个发压节点15022的硬件资源对应的资源使用信息;利用资源使用信息,确定目标节点信息;发送目标节点信息和目标测试数据至压力测试集群的控制节点
317.控制节点15021用于:获取电子设备1501发送的目标节点信息以及目标测试数据;根据目标节点信息,从多个发压节点15022中确定至少一个目标节点;利用目标测试数据控制至少一个目标节点向待测服务端发起压力测试。
318.本实施例中,确定对待测服务端进行压力测试的目标测试数据时,可以获取多个发压节点的硬件资源对应的资源使用信息,进而利用该资源使用信息,确定至少一个目标节点的目标节点信息,从而将目标节点信息以及目标测试数据发送至压力测试集群的控制节点。压力测试集群的控制节点通过节点信息确定至少一个目标节点,以利用目标测试数据控制至少一个目标节点对待测试服务端进行压力测试。通过监控多个发压节点的硬件资源对应的资源使用信息,可以及时了解多个发压节点的资源使用情况,准确获得可以参与测试的至少一个目标节点的目标节点信息,实现对参与压力测试的至少一个目标节点的准备把控,使得各个目标节点产生的服务请求数量更准确,获得准确的测试结果,提高测试效率。
319.在一种可能的设计中,压力测试系统1500还可以包括一个与压力测试集群1502以及电子设备1501连接的监控节点1504。监控节点1504可以用于监控压力测试集群1502中多个发压节点15022的硬件资源对应的资源使用信息,将该资源使用信息发送至电子设备1501。
320.此外,电子设备1501或者控制节点1502所执行的其他步骤已在相关压力测试方法中详细记载,为了描述的简洁性考虑,在此不再赘述。
321.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
322.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
323.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom
或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
324.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
325.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
326.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端

服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
327.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
328.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献