CN113076238B - 压力测试方法、装置、存储介质及电子设备 - Google Patents
压力测试方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113076238B CN113076238B CN202110321105.7A CN202110321105A CN113076238B CN 113076238 B CN113076238 B CN 113076238B CN 202110321105 A CN202110321105 A CN 202110321105A CN 113076238 B CN113076238 B CN 113076238B
- Authority
- CN
- China
- Prior art keywords
- vehicle
- data
- server
- target
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 166
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000009530 blood pressure measurement Methods 0.000 claims description 41
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 230000003993 interaction Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000009662 stress testing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Measuring Fluid Pressure (AREA)
Abstract
本公开涉及一种压力测试方法、装置、存储介质及电子设备,该方法包括:获取多个目标车辆的车辆标识;针对每个车辆标识,获取车辆标识对应的多个虚拟车辆标识,建立每个虚拟车辆标识对应的数据通路;获取每个虚拟车辆标识对应的压力测试数据;通过虚拟车辆标识对应的数据通路,将虚拟车辆标识对应的压力测试数据发送至服务器,以便服务器解析压力测试数据;在将每个虚拟车辆标识对应的压力测试数据发送至服务器后,获取服务器成功解析的压力测试数据的目标数量,并在目标数量大于或等于预设数量阈值的情况下,确定服务器通过压力测试。这样,可以根据车辆与服务器之间进行交互的真实数据对该服务器进行压力测试,从而可以提高压力测试的准确率。
Description
技术领域
本公开涉及车辆技术领域,具体地,涉及一种压力测试方法、装置、存储介质及电子设备。
背景技术
在车辆运营过程中,会将相关的车辆数据发送至服务器,在车辆较多的情况下,服务器可能由于负载压力过大而响应缓慢,导致延迟较高,处理异常,甚至宕机。因此,有必要对服务器进行压力测试。
相关技术中,可以采用Jmeter压力测试工具对服务器进行压力测试,但是,Jmeter无法模拟大规模车辆同时与服务器进行数据交互的情况,只能通过人工模拟的车辆数据对服务器进行压力测试,这样,会导致压力测试的准确率较低。
发明内容
为了解决上述问题,本公开提供一种压力测试方法、装置、存储介质及电子设备。
第一方面,本公开提供一种压力测试方法,所述方法包括:获取多个目标车辆的车辆标识,所述目标车辆包括向服务器发送车辆数据的车辆;针对每个所述车辆标识,获取所述车辆标识对应的多个虚拟车辆标识,建立每个所述虚拟车辆标识对应的数据通路;获取每个所述虚拟车辆标识对应的压力测试数据;通过所述虚拟车辆标识对应的数据通路,将所述虚拟车辆标识对应的压力测试数据发送至所述服务器,以便所述服务器解析所述压力测试数据;在将每个所述虚拟车辆标识对应的压力测试数据发送至所述服务器后,获取所述服务器成功解析的所述压力测试数据的目标数量,并在所述目标数量大于或等于预设数量阈值的情况下,确定所述服务器通过压力测试。
可选地,所述方法还包括:在所述目标数量小于所述预设数量阈值的情况下,确定所述服务器未通过压力测试。
可选地,所述获取所述车辆标识对应的多个虚拟车辆标识包括:获取预设虚拟标识数量;根据所述车辆标识和所述预设虚拟标识数量,生成所述车辆标识对应的多个所述虚拟车辆标识。
可选地,所述获取每个所述虚拟车辆标识对应的压力测试数据包括:获取所述服务器接收到的所述目标车辆发送的车辆数据;根据所述虚拟车辆标识对应的车辆标识和所述车辆数据对应的车辆标识,确定所述虚拟车辆标识对应的目标车辆数据;按照预设格式转换所述目标车辆数据,并将格式转换后的所述目标车辆数据作为所述虚拟车辆标识对应的压力测试数据。
可选地,在所述获取所述服务器接收到的所述目标车辆发送的车辆数据前,所述方法还包括:获取预先设置的多个压测引擎;将多个所述虚拟车辆标识分配至多个所述压测引擎;在确定所述虚拟车辆标识对应的所述目标车辆数据后,根据所述虚拟车辆标识确定目标压测引擎;所述按照预设格式转换所述目标车辆数据,并将格式转换后的所述目标车辆数据作为所述虚拟车辆标识对应的压力测试数据包括:通过所述目标压测引擎,按照所述预设格式转换所述目标车辆数据,得到所述虚拟车辆标识对应的压力测试数据。
可选地,所述方法还包括:在将多个所述虚拟车辆标识分配至多个所述压测引擎后,在所述根据所述虚拟车辆标识确定目标压测引擎前,建立所述虚拟车辆标识与所述压测引擎之间的对应关系;所述根据所述虚拟车辆标识确定目标压测引擎包括:通过所述虚拟车辆标识与所述压测引擎之间的对应关系,获取所述虚拟车辆标识对应的目标压测引擎。
可选地,所述将多个所述虚拟车辆标识分配至多个所述压测引擎包括:将所述虚拟车辆标识平均分配至所述压测引擎。
可选地,所述获取所述服务器接收到的所述目标车辆发送的车辆数据包括:从预先设置的消息队列中获取所述服务器接收到的所述目标车辆发送的所述车辆数据。
可选地,所述根据所述虚拟车辆标识对应的车辆标识和所述车辆数据对应的车辆标识,确定所述虚拟车辆标识对应的目标车辆数据包括:将所述车辆标识与所述虚拟车辆标识对应的车辆标识相同的车辆数据,作为所述目标车辆数据。
可选地,所述预设数量阈值通过以下方式确定:获取向所述服务器发送的所述压力测试数据的发送数量;根据所述发送数量,确定所述预设数量阈值。
可选地,所述根据所述发送数量,确定所述预设数量阈值包括:获取预设误差阈值;将所述发送数量与所述预设误差阈值的差值,作为所述预设数量阈值。
可选地,所述建立每个所述虚拟车辆标识对应的数据通路包括:生成每个所述虚拟车辆标识对应的mqttClient;建立所述mqttClient与所述服务器对应的mqttServer之间的数据通路。
第二方面,本公开提供一种压力测试装置,所述装置包括:车辆标识获取模块,用于获取多个目标车辆的车辆标识,所述目标车辆包括向服务器发送车辆数据的车辆;数据通路建立模块,用于针对每个所述车辆标识,获取所述车辆标识对应的多个虚拟车辆标识,建立每个所述虚拟车辆标识对应的数据通路;压力数据获取模块,用于获取每个所述虚拟车辆标识对应的压力测试数据;压力数据发送模块,用于通过所述虚拟车辆标识对应的数据通路,将所述虚拟车辆标识对应的压力测试数据发送至所述服务器,以便所述服务器解析所述压力测试数据;测试确定模块,用于在将每个所述虚拟车辆标识对应的压力测试数据发送至所述服务器后,获取所述服务器成功解析的所述压力测试数据的目标数量,并在所述目标数量大于或等于预设数量阈值的情况下,确定所述服务器通过压力测试。
可选地,所述测试确定模块,还用于在所述目标数量小于所述预设数量阈值的情况下,确定所述服务器未通过压力测试。
可选地,所述数据通路建立模块,具体用于:获取预设虚拟标识数量;根据所述车辆标识和所述预设虚拟标识数量,生成所述车辆标识对应的多个所述虚拟车辆标识。
可选地,所述压力数据获取模块,还用于:获取所述服务器接收到的所述目标车辆发送的车辆数据;根据所述虚拟车辆标识对应的车辆标识和所述车辆数据对应的车辆标识,确定所述虚拟车辆标识对应的目标车辆数据;按照预设格式转换所述目标车辆数据,并将格式转换后的所述目标车辆数据作为所述虚拟车辆标识对应的压力测试数据。
可选地,所述装置还包括:压测引擎获取模块,用于获取预先设置的多个压测引擎;压测引擎分配模块,用于将多个所述虚拟车辆标识分配至多个所述压测引擎;压测引擎确定模块,用于在确定所述虚拟车辆标识对应的所述目标车辆数据后,根据所述虚拟车辆标识确定目标压测引擎;所述压力数据获取模块,还用于:通过所述目标压测引擎,按照所述预设格式转换所述目标车辆数据,得到所述虚拟车辆标识对应的压力测试数据。
可选地,所述装置还包括:关联关系建立模块,用于在将多个所述虚拟车辆标识分配至多个所述压测引擎后,在所述根据所述虚拟车辆标识确定目标压测引擎前,建立所述虚拟车辆标识与所述压测引擎之间的对应关系;所述压测引擎确定模块,还用于:通过所述虚拟车辆标识与所述压测引擎之间的对应关系,获取所述虚拟车辆标识对应的目标压测引擎。
可选地,所述压测引擎分配模块,还用于:将所述虚拟车辆标识平均分配至所述压测引擎。
可选地,所述压力数据获取模块,还用于:从预先设置的消息队列中获取所述服务器接收到的所述目标车辆发送的所述车辆数据。
可选地,所述压力数据获取模块,还用于:将所述车辆标识与所述虚拟车辆标识对应的车辆标识相同的车辆数据,作为所述目标车辆数据。
可选地,所述装置还包括:发送数量获取模块,用于获取向所述服务器发送的所述压力测试数据的发送数量;所述阈值确定模块,用于:根据所述发送数量,确定所述预设数量阈值。
可选地,所述阈值确定模块,还用于:获取预设误差阈值;将所述发送数量与所述预设误差阈值的差值,作为所述预设数量阈值。
可选地,所述数据通路建立模块,还用于:生成每个所述虚拟车辆标识对应的mqttClient;建立所述mqttClient与所述服务器对应的mqttServer之间的数据通路。
第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所述方法的步骤。
第四方面,本公开提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
通过上述技术方案,通过获取多个目标车辆的车辆标识,所述目标车辆包括向服务器发送车辆数据的车辆;针对每个所述车辆标识,获取该车辆标识对应的多个虚拟车辆标识,建立每个所述虚拟车辆标识对应的数据通路;获取每个所述虚拟车辆标识对应的压力测试数据;通过所述虚拟车辆标识对应的数据通路,将所述虚拟车辆标识对应的压力测试数据发送至所述服务器,以便所述服务器解析所述压力测试数据;在将每个所述虚拟车辆标识对应的压力测试数据发送至所述服务器后,获取所述服务器成功解析的所述压力测试数据的目标数量,并在所述目标数量大于或等于预设数量阈值的情况下,确定所述服务器通过压力测试。这样,可以根据车辆与服务器之间进行交互的真实数据对该服务器进行压力测试,从而可以提高压力测试的准确率。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种压力测试方法的流程图;
图2是根据一示例性实施例示出的另一种压力测试方法的流程图;
图3是根据一示例性实施例示出的一种压力测试装置的结构示意图;
图4是根据一示例性实施例示出的第二种压力测试装置的结构示意图;
图5是根据一示例性实施例示出的第三种压力测试装置的结构示意图;
图6是根据一示例性实施例示出的第四种压力测试装置的结构示意图;
图7是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
首先,对本公开的应用场景进行说明。由于车辆运行过程中,车辆的ECU(Electronic Control Unit,电子控制单元)会将车辆数据上报至车机,车机在接收到该车辆数据后,将该车辆数据发送至服务器。在与服务器交互的车辆较多的情况下,服务器可能由于负载压力过大而响应缓慢,导致延迟较高,处理异常,甚至宕机。因此,需要对服务器进行压力测试。
相关技术中,可以通过Jmeter压力测试工具对服务器进行压力测试,但是,Jmeter无法模拟大规模车辆同时与服务器进行数据交互的情况,需要人工构造车辆数据进行压力测试,而车辆的ECU上报的数据类型较多、数据精确度高且实时性强,人工构造的车辆数据无法还原车辆的真实数据,从而导致压力测试的准确率较低。
为了解决上述存在的问题,本公开提供一种压力测试方法、装置、存储介质及电子设备,通过获取真实车辆的车辆标识对应的多个虚拟车辆标识,建立该多个虚拟车辆标识与服务器之间的数据通路,并通过该多个虚拟车辆标识对应的数据通路发送该真实车辆对应的压力测试数据,这样,可以在保证向服务器发送的压力测试数据量的同时,提高压力测试的准确率。
下面结合具体实施例对本公开进行说明。
图1是根据一示例性实施例示出的一种压力测试方法的流程图,如图1所示,该方法包括:
S101、获取多个目标车辆的车辆标识。
其中,该目标车辆包括向服务器发送车辆数据的车辆,不同的目标车辆的车辆标识不同,示例地,该目标车辆的车辆标识可以是deviceid01,deviceid02,本公开对该车辆标识的形式不作限定。
在本步骤中,在服务器接收到该目标车辆发送的车辆数据后,可以存储发送该车辆数据的目标车辆的车辆标识,在需要进行压力测试时,可以获取存储的该车辆标识。
S102、针对每个车辆标识,获取该车辆标识对应的多个虚拟车辆标识,建立每个虚拟车辆标识对应的数据通路。
在本步骤中,由于向服务器发送车辆数据的目标车辆的数量较小,例如500个,而进行压力测试时需要测试更多数量的目标车辆同时向服务器发送数据的情况,因此,针对获取的每个车辆标识,可以根据测试需求获取该车辆标识对应的多个虚拟车辆标识,例如,针对每个车辆标识,获取该车辆标识对应的100个虚拟车辆标识。之后,可以为每个虚拟车辆标识建立数据通路,该数据通路用于向服务器发送压力测试数据。
S103、获取每个虚拟车辆标识对应的压力测试数据。
在本步骤中,在建立好每个虚拟车辆标识对应的数据通路后,可以将每个车辆标识对应的车辆数据,作为该车辆标识对应的虚拟车辆标识对应的压力测试数据。
S104、通过该虚拟车辆标识对应的数据通路,将该虚拟车辆标识对应的压力测试数据发送至服务器。
在本步骤中,该服务器在接收到该压力测试数据后,可以对该压力测试数据进行解析。
S105、在将每个虚拟车辆标识对应的压力测试数据发送至该服务器后,获取该服务器成功解析的压力测试数据的目标数量,并在该目标数量大于或等于预设数量阈值的情况下,确定该服务器通过压力测试。
其中,可以获取向该服务器发送的压力测试数据的发送数量,并根据该发送数量,确定该预设数量阈值。在根据该发送数量确定该预设数量阈值时,可以先获取预设误差阈值,将该发送数量与该预设误差阈值的差值,作为该预设数量阈值。该预设误差阈值可以根据该服务器对性能的要求确定,针对性能要求较高的服务器,可以设置较小的预设误差阈值,针对性能要求较低的服务器,可以设置较大的预设误差阈值,本公开对此不作限定。
在本步骤中,在该服务器解析该压力测试数据后,可以获取该服务器成功解析的压力测试数据的目标数量,通过对比该目标数量和该预设数量阈值,在该目标数量大于或等于该预设数量阈值的情况下,确定该服务器通过压力测试。在该目标数量小于该预设数量阈值的情况下,确定该服务器未通过压力测试。
采用上述方法,通过获取真实车辆的车辆标识对应的多个虚拟车辆标识,建立该多个虚拟车辆标识与服务器之间的数据通路,并通过该多个虚拟车辆标识对应的数据通路发送该真实车辆对应的压力测试数据,这样,可以在保证向服务器发送的压力测试数据量的同时,提高压力测试的准确率。
图2是根据一示例性实施例示出的另一种压力测试方法的流程图,如图2所示,该方法包括:
S201、获取多个目标车辆的车辆标识。
其中,该目标车辆包括向服务器发送车辆数据的车辆,不同的目标车辆的车辆标识不同,示例地,该目标车辆的车辆标识可以是deviceid01,deviceid02,本公开对该车辆标识的形式不作限定。
S202、针对每个车辆标识,获取预设虚拟标识数量。
在本步骤中,该预设虚拟标识数量可以根据测试需求设置,示例地,针对性能要求较高的服务器,可以设置较大的预设虚拟标识数量,例如20个,针对性能要求较低的服务器,可以设置较小的预设虚拟标识数量,例如10个;还可以根据车辆标识的数量,确定预设虚拟标识数量,示例地,在车辆标识的数量较少的情况下,可以设置较大的预设虚拟标识数量,例如30个,在车辆标识的数量较多的情况下,可以设置较小的预设虚拟标识数量,例如10个。本公开对该预设虚拟标识数量的设置方式不作限定。
S203、根据该车辆标识和该预设虚拟标识数量,生成该车辆标识对应的多个虚拟车辆标识。
在本步骤中,在得到该预设虚拟标识数量后,可以根据该车辆标识,按照预设规则生成该虚拟车辆标识,示例地,若该车辆标识为deviceid01,该预设虚拟标识数量为10,则该虚拟车辆标识可以是test_01_deviceid01,test_02_deviceid01,……,test_10_deviceid01。上述预设规则只是举例说明,也可以通过其它方式生成该虚拟车辆标识,本公开对此不作限定。
S204、生成每个虚拟车辆标识对应的mqttClient。
示例地,若虚拟设备标识包括1000个,则会生成1000个mqttClient。
S205、建立mqttClient与该服务器对应的mqttServer之间的数据通路。
需要说明的是,上述步骤S204~步骤S205只是虚拟车辆标识对应的数据通路的一种方式,也可以通过相关技术的其它方式建立该虚拟车辆标识对应的数据通路,本公开对此不作限定。
S206、获取该服务器接收到的目标车辆发送的车辆数据。
在本步骤中,该服务器在接收到该多个目标车辆发送的车辆数据后,可以将该车辆数据存储在预先设置的消息队列中,之后,可以从该消息队列中获取该服务器接收到的多个目标车辆发送的车辆数据。
S207、根据该虚拟车辆标识对应的车辆标识和该车辆数据对应的车辆标识,确定该虚拟车辆标识对应的目标车辆数据。
其中,该虚拟车辆标识对应的车辆标识为用于生成该虚拟车辆标识的车辆标识,该车辆数据对应的车辆标识为发送该车辆数据的目标车辆对应的车辆标识。
在本步骤中,在获取该服务器接收到的多个目标车辆发送的车辆数据后,可以解析该车辆数据,得到该车辆数据对应的车辆标识,之后,可以将车辆标识与该虚拟车辆标识对应的车辆标识相同的车辆数据,作为该目标车辆数据。示例地,针对每个虚拟车辆标识,可以获取与该虚拟车辆标识对应的车辆标识相同的车辆数据,例如,若该虚拟车辆标识为test_02_deviceid01,则该虚拟车辆标识对应的车辆标识为deviceid01,从该服务器接收到的多个目标车辆发送的车辆数据中,确定车辆标识为deviceid01的车辆数据,将该车辆数据作为该虚拟车辆标识对应的目标车辆数据。
需要说明的是,由于多个虚拟车辆标识对应的车辆标识是相同的,该多个虚拟车辆标识对应的目标车辆数据也就相同。示例地,在预设虚拟标识数量为10的情况下,同一个车辆标识生成的10个虚拟车辆标识对应的目标车辆数据是相同的。
S208、按照预设格式转换该目标车辆数据,并将格式转换后的该目标车辆数据作为该虚拟车辆标识对应的压力测试数据。
其中,该预设格式可以是Protobuf,也可以是jason等其它格式,本公开对此不作限定。
在本步骤中,由于车机向服务器发送的数据是预设格式的,而该目标车辆数据是服务器将预设格式的数据解析后得到的数据,因此,在得到该目标车辆数据后,需要将该目标车辆数据再转换为预设格式,以便模拟真实的车辆与服务器之间的数据交互。在将该目标车辆数据转换为预设格式后,将格式转换后的目标车辆数据作为该虚拟车辆标识对应的压力测试数据。
需要说明的是,考虑到虚拟标识数量较多的情况下,如果同时向服务器发送多个压力测试数据时,可能会导致设备无法承载,因此,可以将多个虚拟车辆标识分配至多个压测引擎,通过多个压测引擎发送该压力测试数据。在一种可能的实现方式中,在获取该服务器接收到的多个目标车辆发送的车辆数据前,可以获取预先设置的多个压测引擎,将多个虚拟车辆标识分配至多个压测引擎,并在确定虚拟车辆标识对应的目标车辆数据后,根据该虚拟车辆标识确定目标压测引擎。
其中,在将该虚拟车辆标识分配至多个压测引擎时,可以将该虚拟车辆标识平均分配至该多个压测引擎,示例地,在该虚拟车辆标识为10000个,该压测引擎为10个的情况下,每个压测引擎可以分配1000个虚拟车辆标识;也可以按照其它方式将该虚拟车辆标识分配至该多个压测引擎,本公开对此不作限定。
在将该多个虚拟车辆标识分配至该多个压测引擎后,可以建立该虚拟车辆标识与该压测引擎之间的对应关系,在确定每个虚拟车辆标识对应的目标车辆数据后,可以通过该虚拟车辆标识与该压测引擎之间的对应关系,获取该虚拟车辆标识对应的目标压测引擎。
进一步地,在确定该虚拟车辆标识对应的目标压测引擎后,可以通过该目标压测引擎,按照该预设格式转换该目标车辆数据,得到该虚拟车辆标识对应的压力测试数据。
S209、通过该虚拟车辆标识对应的数据通路,将该虚拟车辆标识对应的压力测试数据发送至该服务器。
需要说明的是,上述步骤S202~步骤S209是针对每个车辆标识的操作步骤,在针对每个车辆标识均执行了步骤S202~步骤S209后,再执行步骤S210~步骤S211。
S210、在将每个虚拟车辆标识对应的压力测试数据发送至该服务器后,获取该服务器成功解析的所述压力测试数据的目标数量。
S211、在该目标数量大于或等于预设数量阈值的情况下,确定该服务器通过压力测试。
采用上述方法,可以根据预设虚拟标识数量,获取真实车辆的车辆标识对应的多个虚拟车辆标识,建立该多个虚拟车辆标识与服务器之间的数据通路,并通过该多个虚拟车辆标识对应的数据通路发送该真实车辆对应的压力测试数据,另外,为了避免虚拟车辆标识的数量过多导致服务异常,可以将该多个虚拟车辆标识分配至多个压测引擎,通过多个压测引擎发送该多个虚拟车辆标识对应的压力测试数据,这样,可以在保证向服务器发送的压力测试数据量的同时,提高压力测试的准确率。
图3是根据一示例性实施例示出的一种压力测试装置的结构示意图,如图3所示,该装置包括:
车辆标识获取模块301,用于获取多个目标车辆的车辆标识,该目标车辆包括向服务器发送车辆数据的车辆;
数据通路建立模块302,用于针对每个该车辆标识,获取该车辆标识对应的多个虚拟车辆标识,建立每个该虚拟车辆标识对应的数据通路;
压力数据获取模块303,用于获取每个虚拟车辆标识对应的压力测试数据;
压力数据发送模块304,用于通过该虚拟车辆标识对应的数据通路,将该虚拟车辆标识对应的压力测试数据发送至该服务器,以便该服务器解析该压力测试数据;
测试确定模块305,用于在将每个虚拟车辆标识对应的压力测试数据发送至该服务器后,获取该服务器成功解析的该压力测试数据的目标数量,并在该目标数量大于或等于预设数量阈值的情况下,确定该服务器通过压力测试。
可选地,该测试确定模块305,还用于在该目标数量小于该预设数量阈值的情况下,确定该服务器未通过压力测试。
可选地,该数据通路建立模块302,具体用于:获取预设虚拟标识数量;根据该车辆标识和该预设虚拟标识数量,生成该车辆标识对应的多个虚拟车辆标识。
可选地,该压力数据获取303,还用于:获取该服务器接收到的该目标车辆发送的车辆数据;根据该虚拟车辆标识对应的车辆标识和该车辆数据对应的车辆标识,确定该虚拟车辆标识对应的目标车辆数据;按照预设格式转换该目标车辆数据,并将格式转换后的该目标车辆数据作为该虚拟车辆标识对应的压力测试数据。
可选地,图4是根据一示例性实施例示出的第二种压力测试装置的结构示意图,如图4所示,该装置还包括:压测引擎获取模块306,用于获取预先设置的多个压测引擎;压测引擎分配模块307,用于将多个该虚拟车辆标识分配至多个该压测引擎;压测引擎确定模块308,用于在确定该虚拟车辆标识对应的该目标车辆数据后,根据该虚拟车辆标识确定目标压测引擎;该压力数据获取模块303,还用于:通过该目标压测引擎,按照该预设格式转换该目标车辆数据,得到该虚拟车辆标识对应的压力测试数据。
可选地,图5是根据一示例性实施例示出的第三种压力测试装置的结构示意图,如图5所示,该装置还包括:关联关系建立模块309,用于在将多个该虚拟车辆标识分配至多个该压测引擎后,在该根据该虚拟车辆标识确定目标压测引擎前,建立该虚拟车辆标识与该压测引擎之间的对应关系;该压测引擎确定模块308,还用于:通过该虚拟车辆标识与该压测引擎之间的对应关系,获取该虚拟车辆标识对应的目标压测引擎。
可选地,该压测引擎分配模块307,还用于:将该虚拟车辆标识平均分配至该压测引擎。
可选地,该压力数据获取模块303,还用于:从预先设置的消息队列中获取该服务器接收到的该目标车辆发送的该车辆数据。
可选地,该压力数据获取模块303,还用于:将该车辆标识与该虚拟车辆标识对应的车辆标识相同的车辆数据,作为该目标车辆数据。
可选地,图6是根据一示例性实施例示出的第四种压力测试装置的结构示意图,如图6所示,该装置还包括:发送数量获取模块310,用于获取向该服务器发送的该压力测试数据的发送数量;阈值确定模块311,用于:根据该发送数量,确定该预设数量阈值。
可选地,该阈值确定模块311,还用于:获取预设误差阈值;将该发送数量与该预设误差阈值的差值,作为该预设数量阈值。
可选地,该数据通路建立模块302,还用于:生成每个该虚拟车辆标识对应的mqttClient;建立该mqttClient与该服务器对应的mqttServer之间的数据通路。
通过上述装置,通过获取真实车辆的车辆标识对应的多个虚拟车辆标识,建立该多个虚拟车辆标识与服务器之间的数据通路,并通过该多个虚拟车辆标识对应的数据通路发送该真实车辆对应的压力测试数据,这样,可以在保证向服务器发送的压力测试数据量的同时,提高压力测试的准确率。
图7是根据一示例性实施例示出的一种电子设备700的框图。例如,电子设备700可以被提供为一服务器。参照图7,电子设备700包括处理器722,其数量可以为一个或多个,以及存储器732,用于存储可由处理器722执行的计算机程序。存储器732中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器722可以被配置为执行该计算机程序,以执行上述的压力测试方法。
另外,电子设备700还可以包括电源组件726和通信组件750,该电源组件726可以被配置为执行电子设备700的电源管理,该通信组件750可以被配置为实现电子设备700的通信,例如,有线或无线通信。此外,该电子设备700还可以包括输入/输出(I/O)接口758。电子设备700可以操作基于存储在存储器732的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的压力测试方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器732,上述程序指令可由电子设备700的处理器722执行以完成上述的压力测试方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的压力测试方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (15)
1.一种压力测试方法,其特征在于,所述方法包括:
获取多个目标车辆的车辆标识,所述目标车辆包括向服务器发送车辆数据的车辆;
针对每个所述车辆标识,获取所述车辆标识对应的多个虚拟车辆标识,建立每个所述虚拟车辆标识对应的数据通路;
获取每个所述虚拟车辆标识对应的压力测试数据;
通过所述虚拟车辆标识对应的数据通路,将所述虚拟车辆标识对应的压力测试数据发送至所述服务器,以便所述服务器解析所述压力测试数据;
在将每个所述虚拟车辆标识对应的压力测试数据发送至所述服务器后,获取所述服务器成功解析的所述压力测试数据的目标数量,并在所述目标数量大于或等于预设数量阈值的情况下,确定所述服务器通过压力测试。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标数量小于所述预设数量阈值的情况下,确定所述服务器未通过压力测试。
3.根据权利要求1所述的方法,其特征在于,所述获取所述车辆标识对应的多个虚拟车辆标识包括:
获取预设虚拟标识数量;
根据所述车辆标识和所述预设虚拟标识数量,生成所述车辆标识对应的多个所述虚拟车辆标识。
4.根据权利要求1所述的方法,其特征在于,所述获取每个所述虚拟车辆标识对应的压力测试数据包括:
获取所述服务器接收到的所述目标车辆发送的车辆数据;
根据所述虚拟车辆标识对应的车辆标识和所述车辆数据对应的车辆标识,确定所述虚拟车辆标识对应的目标车辆数据;
按照预设格式转换所述目标车辆数据,并将格式转换后的所述目标车辆数据作为所述虚拟车辆标识对应的压力测试数据。
5.根据权利要求4所述的方法,其特征在于,在所述获取所述服务器接收到的所述目标车辆发送的车辆数据前,所述方法还包括:
获取预先设置的多个压测引擎;
将多个所述虚拟车辆标识分配至多个所述压测引擎;
在确定所述虚拟车辆标识对应的所述目标车辆数据后,根据所述虚拟车辆标识确定目标压测引擎;
所述按照预设格式转换所述目标车辆数据,并将格式转换后的所述目标车辆数据作为所述虚拟车辆标识对应的压力测试数据包括:
通过所述目标压测引擎,按照所述预设格式转换所述目标车辆数据,得到所述虚拟车辆标识对应的压力测试数据。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在将多个所述虚拟车辆标识分配至多个所述压测引擎后,在所述根据所述虚拟车辆标识确定目标压测引擎前,建立所述虚拟车辆标识与所述压测引擎之间的对应关系;
所述根据所述虚拟车辆标识确定目标压测引擎包括:
通过所述虚拟车辆标识与所述压测引擎之间的对应关系,获取所述虚拟车辆标识对应的目标压测引擎。
7.根据权利要求5所述的方法,其特征在于,所述将多个所述虚拟车辆标识分配至多个所述压测引擎包括:
将所述虚拟车辆标识平均分配至所述压测引擎。
8.根据权利要求4所述的方法,其特征在于,所述获取所述服务器接收到的所述目标车辆发送的车辆数据包括:
从预先设置的消息队列中获取所述服务器接收到的所述目标车辆发送的所述车辆数据。
9.根据权利要求4所述的方法,其特征在于,所述根据所述虚拟车辆标识对应的车辆标识和所述车辆数据对应的车辆标识,确定所述虚拟车辆标识对应的目标车辆数据包括:
将所述车辆标识与所述虚拟车辆标识对应的车辆标识相同的车辆数据,作为所述目标车辆数据。
10.根据权利要求1所述的方法,其特征在于,所述预设数量阈值通过以下方式确定:
获取向所述服务器发送的所述压力测试数据的发送数量;
根据所述发送数量,确定所述预设数量阈值。
11.根据权利要求10所述的方法,其特征在于,所述根据所述发送数量,确定所述预设数量阈值包括:
获取预设误差阈值;
将所述发送数量与所述预设误差阈值的差值,作为所述预设数量阈值。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述建立每个所述虚拟车辆标识对应的数据通路包括:
生成每个所述虚拟车辆标识对应的mqttClient;
建立所述mqttClient与所述服务器对应的mqttServer之间的数据通路。
13.一种压力测试装置,其特征在于,所述装置包括:
车辆标识获取模块,用于获取多个目标车辆的车辆标识,所述目标车辆包括向服务器发送车辆数据的车辆;
数据通路建立模块,用于针对每个所述车辆标识,获取所述车辆标识对应的多个虚拟车辆标识,建立每个所述虚拟车辆标识对应的数据通路;
压力数据获取模块,用于获取每个所述虚拟车辆标识对应的压力测试数据;
压力数据发送模块,用于通过所述虚拟车辆标识对应的数据通路,将所述虚拟车辆标识对应的压力测试数据发送至所述服务器,以便所述服务器解析所述压力测试数据;
测试确定模块,用于在将每个所述虚拟车辆标识对应的压力测试数据发送至所述服务器后,获取所述服务器成功解析的所述压力测试数据的目标数量,并在所述目标数量大于或等于预设数量阈值的情况下,确定所述服务器通过压力测试。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-12中任一项所述方法的步骤。
15.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-12中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110321105.7A CN113076238B (zh) | 2021-03-25 | 2021-03-25 | 压力测试方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110321105.7A CN113076238B (zh) | 2021-03-25 | 2021-03-25 | 压力测试方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113076238A CN113076238A (zh) | 2021-07-06 |
CN113076238B true CN113076238B (zh) | 2023-12-01 |
Family
ID=76610249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110321105.7A Active CN113076238B (zh) | 2021-03-25 | 2021-03-25 | 压力测试方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113076238B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763009A (zh) * | 2018-06-06 | 2018-11-06 | 驭势(上海)汽车科技有限公司 | 服务器压力测试方法、系统、设备及计算机可读存储介质 |
CN109032912A (zh) * | 2018-07-25 | 2018-12-18 | 北京首汽智行科技有限公司 | 车载终端固件升级的压力测试方法 |
CN111026096A (zh) * | 2019-12-30 | 2020-04-17 | 华人运通(江苏)技术有限公司 | 车辆诊断方法、装置、系统、设备及计算机可读存储介质 |
CN111078539A (zh) * | 2019-11-29 | 2020-04-28 | 江苏苏宁物流有限公司 | 一种测试方法、装置、系统、计算机可读存储介质 |
CN112198861A (zh) * | 2020-09-15 | 2021-01-08 | 湖北亿咖通科技有限公司 | 车载终端的应用程序测试方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9858177B2 (en) * | 2015-10-30 | 2018-01-02 | International Business Machines Corporation | Automated test generation for multi-interface enterprise virtualization management environment |
-
2021
- 2021-03-25 CN CN202110321105.7A patent/CN113076238B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763009A (zh) * | 2018-06-06 | 2018-11-06 | 驭势(上海)汽车科技有限公司 | 服务器压力测试方法、系统、设备及计算机可读存储介质 |
CN109032912A (zh) * | 2018-07-25 | 2018-12-18 | 北京首汽智行科技有限公司 | 车载终端固件升级的压力测试方法 |
CN111078539A (zh) * | 2019-11-29 | 2020-04-28 | 江苏苏宁物流有限公司 | 一种测试方法、装置、系统、计算机可读存储介质 |
CN111026096A (zh) * | 2019-12-30 | 2020-04-17 | 华人运通(江苏)技术有限公司 | 车辆诊断方法、装置、系统、设备及计算机可读存储介质 |
CN112198861A (zh) * | 2020-09-15 | 2021-01-08 | 湖北亿咖通科技有限公司 | 车载终端的应用程序测试方法 |
Non-Patent Citations (1)
Title |
---|
新能源汽车远程监控系统压力测试方法研究;张新丰;沈勇;章桐;魏臻;;计算机工程(第06期);310-313+317 * |
Also Published As
Publication number | Publication date |
---|---|
CN113076238A (zh) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111124850A (zh) | Mqtt服务器性能测试方法、系统、计算机设备及存储介质 | |
CN109600280B (zh) | 压力测试系统、方法、装置及计算机可读存储介质 | |
CN104834602B (zh) | 一种程序发布方法、装置和程序发布系统 | |
CN106851513B (zh) | 一种电子产品的测试方法和系统 | |
CN105281978A (zh) | 一种性能测试的方法、装置和系统 | |
CN111181800B (zh) | 测试数据处理方法、装置、电子设备及存储介质 | |
CN111813699B (zh) | 基于智能电表的数据路由测试方法、装置和计算机设备 | |
CN112134754A (zh) | 压力测试方法、装置、网络设备及存储介质 | |
CN111984527A (zh) | 软件的性能测试方法、装置、设备和介质 | |
CN112765035A (zh) | 分布式压力测试系统、方法、装置、电子设备、存储介质 | |
CN111966556A (zh) | 性能压测方法、装置及服务器和计算机可读存储介质 | |
CN112699648B (zh) | 数据处理方法及装置 | |
CN113076238B (zh) | 压力测试方法、装置、存储介质及电子设备 | |
CN114338347A (zh) | 基于Ampere平台的故障信息带外获取方法及装置 | |
CN110971478B (zh) | 云平台服务性能的压测方法、装置及计算设备 | |
RU2532714C2 (ru) | Способ получения данных при оценке ресурсов сети и устройство для осуществления способа | |
CN115933591A (zh) | 一种控制器诊断方法、装置、设备和存储介质 | |
CN115454015A (zh) | 控制器节点检测方法、装置、控制系统、车辆及存储介质 | |
CN112948195B (zh) | 接口测试的方法、装置、电子设备和存储介质 | |
US20100110899A1 (en) | Stressing a network device | |
CN113242292A (zh) | 报文传输方法、装置、设备、介质及产品 | |
CN111078477A (zh) | 接口测试的方法、装置、存储介质和电子设备 | |
CN109639528A (zh) | 一种日志接收性能的测试方法及装置 | |
CN112737872B (zh) | 一种arinc664p7端系统跨网测试系统和方法 | |
CN116224976B (zh) | 测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |