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

压测方法及装置、电子设备及存储介质与流程

2022-02-22 17:29:28 来源:中国专利 TAG:


1.本公开涉及电子技术领域,尤其涉及一种压测方法及装置、电子设备及存储介质。


背景技术:

2.服务压测是针对线上提供的服务器及服务器接口等资源稳定性的常规压力测试,防止大流量工作时出现服务不可用的情况,保证在预定范围内服务的可用性和正确性。服务压测已成为服务上线前常规测定环节,其中服务压测的数据准备尤为重要。
3.目前相关技术中,压测数据配置来源主要是命令行模式和jmeter压测脚本模式。命令行模式下,用户需要查找对应的命令参数和手动配置命令,并在命令行窗口提交压测命令,过程比较繁琐,且容易出现参数遗漏,导致压测效果不理想。并且压测的结果只能在命令行窗口观察,不够直观。jmeter脚本模式下,压测脚本虽然能够收集足够多压测数据,但是使用压测脚本首先需要安装软件,其次需要上传脚本到服务器,执行压测。因为压测数据需要分阶段调整,所以频繁书写和上传脚本极其耗时耗力,工作效率较低。
4.这两种方式用户在使用过程中非常的低效繁琐,而且无法向用户提供实时的压测情况,只能在压测全部完成后才能提供压测结果。


技术实现要素:

5.本公开实施例提供一种压测方法及装置、电子设备及存储介质。
6.本公开实施例第一方面提供一种压测方法,所述方法包括:
7.获取压测指令;
8.查询与所述压测指令指示的压测类型对应的配置数据;所述配置数据至少包括:压测参数以及压测流程;
9.基于所述压测参数执行所述压测流程;
10.记录压测过程中生成的压测反馈数据。
11.基于上述方案,所述基于所述压测参数执行所述压测流程,包括:
12.基于所述压测参数,生成至少一个压测实例;
13.根据所述压测实例执行所述压测流程。
14.基于上述方案,所述记录压测过程中生成的压测反馈数据,包括:
15.获取压测过程中每一压测实例对应的压测反馈数据;
16.将所述压测反馈数据发送至压测结果数据库。
17.基于上述方案,所述将所述压测反馈数据发送至压测结果数据库,包括:
18.将压测实例身份标识id和所述压测反馈数据写入kafka消息;
19.将所述kafka消息发送至压测结果数据库;所述kafka消息用于供所述压测结果数据库读取压测反馈数据并记录。
20.基于上述方案,所述方法还包括:
21.获取查询指令;
22.在压测结果数据库中查找与所述查询指令携带的压测实例id对应的压测反馈数据;
23.输出所述压测反馈数据。
24.基于上述方案,所述基于所述压测参数执行所述压测流程,包括:
25.若所述压测类型为jmeter压测,基于所述压测参数设置压测进程;
26.配置被测服务器信息;所述被测服务器信息至少包括以下之一:被测服务器的网际互联协议ip地址、被测服务器的端口号、被测服务器的传输协议;
27.配置被测服务器断言触发条件;
28.基于压测过程中至少一个压测实例生成的压测反馈数据,生成压测结果树;所述压测结果树用于按所述压测实例的执行顺序记录所述压测反馈数据;
29.所述记录压测过程中生成的压测反馈数据,包括:
30.将所述压测结果树记录在压测结果数据库中。
31.基于上述方案,所述压测反馈数据至少包括以下之一:被测服务器可用内存容量、所述压测实例的响应时长、所述压测实例对应的报错率。
32.基于上述方案,所述压测参数至少包括以下之一:压测线程数、压测持续时间、压测循环次数。
33.本公开实施例第二方面提供一种压测装置,所述装置包括:
34.获取单元,用于获取压测指令;
35.查询单元,用于查询与所述压测指令指示的压测类型对应的配置数据;所述配置数据至少包括:压测参数以及压测流程;
36.执行单元,用于基于所述压测参数执行所述压测流程;
37.记录单元,用于记录压测过程中生成的压测反馈数据。
38.基于上述方案,所述执行单元,具体用于:
39.基于所述压测参数,生成至少一个压测实例;
40.根据所述压测实例执行所述压测流程。
41.基于上述方案,所述记录单元,具体用于:
42.获取压测过程中每一压测实例对应的压测反馈数据;
43.将所述压测反馈数据发送至压测结果数据库。
44.基于上述方案,所述记录单元,具体用于:
45.将压测实例身份标识id和所述压测反馈数据写入kafka消息;
46.将所述kafka消息发送至压测结果数据库;所述kafka消息用于供所述压测结果数据库读取压测反馈数据并记录。
47.基于上述方案,所述获取单元还用于:获取查询指令;
48.所述装置还包括:
49.查找单元,用于在压测结果数据库中查找与所述查询指令携带的压测实例id对应的压测反馈数据;
50.输出单元,用于输出所述压测反馈数据。
51.基于上述方案,所述执行单元,具体用于:
52.若所述压测类型为jmeter压测,基于所述压测参数设置压测进程;
53.配置被测服务器信息;所述被测服务器信息至少包括以下之一:被测服务器的网际互联协议ip地址、被测服务器的端口号、被测服务器的传输协议;
54.配置被测服务器断言触发条件;
55.基于压测过程中至少一个压测实例生成的压测反馈数据,生成压测结果树;所述压测结果树用于按所述压测实例的执行顺序记录所述压测反馈数据;
56.所述记录单元,具体用于:
57.将所述压测结果树记录在压测结果数据库中。
58.基于上述方案,所述压测反馈数据至少包括以下之一:被测服务器可用内存容量、所述压测实例的响应时长、所述压测实例对应的报错率。
59.基于上述方案,所述压测参数至少包括以下之一:压测线程数、压测持续时间、压测循环次数。
60.本公开实施例第三方面提供一种电子设备,包括:
61.用于存储处理器可执行指令的存储器;
62.处理器,与所述存储器连接;
63.其中,所述处理器被配置为执行如前述任意技术方案提供的压测方法。
64.本公开实施例第四方面提供一种非临时性计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现前述任意技术方案提供的压测方法。
65.本公开的实施例提供的压测方法,包括:获取压测指令;查询与所述压测指令指示的压测类型对应的配置数据;所述配置数据至少包括:压测参数以及压测流程;基于所述压测参数执行所述压测流程;记录压测过程中生成的压测反馈数据。如此,可以针对不同类型的压测过程,自动匹配并提供所需的压测参数及压测流程信息等,无需用户在压测过程中频繁手动输入参数和配置流程相关命令,从而大大提高压测过程的效率以及智能性。而且通过记录压测反馈数据,可以更加及时地向用户反馈压测过程中的压测情况,抑制仅在压测结束后才能输出压测结果导致的实时性差。
66.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
67.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
68.图1是本公开实施例示出的一种压测方法的流程示意图;
69.图2是本公开实施例示出的一种压测方法的流程示意图;
70.图3是本公开实施例示出的一种压测方法的流程示意图;
71.图4是本公开实施例示出的一种压测方法的流程示意图;
72.图5是本公开实施例示出的一种压测方法的流程示意图;
73.图6是本公开实施例示出的一种压测装置的结构示意图;
74.图7是本公开实施例示出的一种压测方法的流程示意图。
具体实施方式
75.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
76.如图1所示,本公开实施例提供一种压测方法,所述方法包括:
77.s110:获取压测指令;
78.s120:查询与所述压测指令指示的压测类型对应的配置数据;所述配置数据至少包括:压测参数以及压测流程;
79.s130:基于所述压测参数执行所述压测流程;
80.s140:记录压测过程中生成的压测反馈数据。
81.在本公开实施例中,压测指令用于指示开始对指定服务器、云平台等对象的压力测试,可以为用户根据需求下发的指令,也可以为服务器根据一定触发条件自动下发的指令,例如,在确定服务器需要运行某一项服务时,或者,在确定服务器停止工作一定时长后,自动开始压测。
82.压测指令还用于指示所需进行的压测类型,例如可以为用户手动选择的压测类型。这里,压测类型可包括:阿帕奇(apachebench,ab)压测、微软研究内核压测(windows research kernel,wrk)压测、jmeter压测等。
83.在一个实施例中,本公开所述压测方法可应用于一个在线压测平台,平台可以收集每种压测类型对应的压测过程中所需要的配置数据,并将配置数据保存于压测配置数据库。例如,可以预先通过执行每种压测类型下的至少一个测试用例,收集执行过程中的配置数据作为该压测类型对应的配置数据。相应的,所述s120可包括:在预设的压测配置数据库中查找与压测指令指示的压测类型对应的配置数据。
84.在另一个实施例中,还可以预先定义需要收集的配置数据,例如针对每种压测类型定义所需收集的压测参数和/或压测流程,进而进行配置数据的收集,构建压测配置数据库。如此,数据收集更加规范可靠,减少了因压测数据配置不全或不正确,导致压测失败或者压测结果不可信的情况。
85.在一个实施例中,配置数据为执行压测所需要的数据,例如,配置数据可包括:压测参数、压测流程等。其中,压测参数可以为压测过程中不同流程或动作对应的工作参数,例如压测所使用的数据包容量、压测周期、压测重复次数等。压测流程可以为执行一次完整的压测所需进行的流程数量、各流程具体内容、以及各流程的执行顺序等信息。
86.在另一个实施例中,压测执行过程中,不同的压测流程在执行后会对压测对象进行不同的操作,进而也会产生不同的压测反馈数据,例如被测服务器的资源占用率、当前压测流程的响应时间等。因此,可以实时记录压测反馈数据,例如记录在压测结果数据库中,或者,直接将压测反馈数据以列表、柱状图等形式输出显示,以供用户实时查看。
87.在一个实施例中,压测指令中还可以携带被测对象的标识信息,例如被测应用程序服务器的身份标识(identity document,id)、被测云平台的id等信息。在线压测平台获取压测指令后,所述方法还可包括:根据被测对象的标识信息确定被测对象的压测体系,例如,可根据历史压测记录,或者,通过访问被测对象获取所需的压测体系。这里,压测体系可
包括用于表征被测对象不同业务的至少一个压测节点,例如,对于游戏服务器,可以包含场景输出节点、对话交互节点等压测节点。在压测过程中,每一压测节点可包含一个或多个压测流程。
88.在一个实施例中,确定被测对象的压测体系后,所述方法还可包括:向用户设备输出被测对象的全部压测节点,以供用户根据节点测试需求选择所需执行压测的一个或多个压测节点,或者,将各压测节点按业务处理能力和/或资源占用率等参数进行排序后,输出至用户设备作为参考。
89.在另一个实施例中,压测过程包含多次重复的压测形成压测循环时,步骤s130可包括:在一次压测开始前,确定上一次压测中出现压测失败、报错率高于预设阈值或者压测未完成等异常情况的压测节点,并将所述出现异常情况的压测节点的节点信息输出至用户设备;根据来自用户设备的选择指令,确定在下一次压测中仅针对出现异常情况的压测节点进行压测,或者,仍然进行全节点的压测。
90.基于此,可以进一步提高压测过程的灵活性,以及对被测对象中测试需求更高的节点的针对性,减少对不存在问题的压测节点执行不必要的重复压测流程。
91.在又一个实施例中,在基于所述压测参数执行所述压测流程之前,所述方法还可包括:向用户提供压测节点工作模式选择;若检测到用户选择常规模式的指令,则执行每一次压测的压测流程及压测节点均完全一致的压测过程;若检测到用户选择高效模式的指令,则从第二次压测开始,仅针对前一次压测中出现异常情况的压测节点进行压测。如此,可以提高压测效率,减少资源占用。
92.如此,可以针对不同类型的压测过程,自动匹配并提供所需的压测参数及压测流程信息等,用户只需选择压测类型即可实施压测,并观测实时结果。不再需要反复修改命令行以及编写上传脚本等繁琐的操作,从而大大提高压测过程的效率以及智能性。而且通过记录压测反馈数据,可以更加及时地向用户反馈压测过程中的压测情况,抑制仅在压测结束后才能输出压测结果导致的实时性差,满足用户对压测进行情况以及被测服务器测试状态的实时观察。
93.在一些实施例中,如图2所示,所述s130,可包括:
94.s131:基于所述压测参数,生成至少一个压测实例;
95.s132:根据所述压测实例执行所述压测流程。
96.在本公开实施例中,压测过程可以包括一个或多个压测实例,每个压测实例可以表征一个或多个压测流程,或者,也可以表征一个压测流程中的一个压测步骤,以实现不同压测步骤的隔离实现和有效区分。例如,每个压测实例可以具有不同的身份标识(identity document,id),基于不同的实例id可以区分不同的压测实例,进而区分不同的压测流程。
97.在一个实施例中,压测参数可以包含不同压测阶段、不同压测流程对应的参数,因而可以根据压测参数的变化情况,或者,根据压测参数和压测流程的对应情况,生成至少一个压测实例。其中,压测实例中包含部分或全部压测参数。
98.在另一个实施例中,压测过程包含多个重复的压测循环时,在一次压测结束后,可以根据已完成压测的压测历史记录,对下一次压测循环进行调整。例如,在第一次压测结束后,可基于第一次压测中的全部压测实例形成压测实例集,并记录在第一次压测中出现错误、压测未完成、或者报错率高于预设值的异常压测实例id。在第二次压测开始前,可以将
上述异常压测实例id输出给用户,由用户确定在第二次压测中是否仅执行上述异常压测实例id对应的压测流程,或者,优先执行上述异常压测实例id对应的压测流程。
99.在又一个实施例中,在基于所述压测参数执行所述压测流程前,还可以向用户输出压测实例工作模式选择。例如,若用户选择常规压测,则执行每一次压测循环的压测流程及压测实例均完全一致的压测过程;若用户选择高效压测,则可以在第二次及以后的压测循环中自动优先处理或仅处理上一次压测中的异常压测实例id对应的压测流程。如此,可以进一步提高压测平台执行压测的智能性和灵活性,进一步提高压测效率,并减少不必要的压测资源浪费。
100.如此,可以基于压测实例有效区分不同的压测流程,进而可以基于压测实例id准确查找对应的压测流程及其压测情况。
101.在一些实施例中,如图3所示,所述s140,可包括:
102.s141:获取压测过程中每一压测实例对应的压测反馈数据;
103.s142:将所述压测反馈数据发送至压测结果数据库。
104.在本公开实施例中,每一压测实例可以对应一个压测流程,或者,对应一个压测流程中的一个压测步骤。因此,获取一个压测实例对应的压测反馈数据,即获取一个压测流程或一个压测步骤过程中产生的压测反馈数据。
105.在一个实施例中,可以实时采集获取压测反馈数据,并基于压测实例id记录对应的压测反馈数据,从而实现每一压测实例下压测反馈数据的统一记录。相应地,将压测反馈数据发送至压测结果数据库,可以为根据压测实例的执行顺序,分别将每一压测实例id对应的压测反馈数据发送至压测结果数据库进行记录。
106.在另一个实施例中,可以将压测实例对应的压测反馈数据实时输出显示,也可以输出当前进行的压测实例的压测实例id,并对应显示压测反馈数据,以供用户实时掌握压测完成情况,以及被测服务器的状态反馈。
107.在一个实施例中,还可以将未完成的压测实例、报错率高于预设阈值和/或响应时长高于预设时长的压测实例对应的压测实例id,记录为异常压测实例信息保存于压测反馈数据,并将压测反馈数据发送至压测结果数据库。
108.在又一个实施例中,还可以将压测实例中出现错误、报错率高于预设阈值或者压测未完成的压测节点,记录为异常压测节点信息保存于压测反馈数据,并将压测反馈数据发送至压测结果数据库。
109.在一些实施例中,如图4所示,所述s142,,可包括:
110.s1421:将压测实例身份标识id和所述压测反馈数据写入kafka消息;
111.s1422:将所述kafka消息发送至压测结果数据库;所述kafka消息用于供所述压测结果数据库读取压测反馈数据并记录。
112.在本公开实施例中,可以在实时获取压测反馈数据后,将当前压测实例id与获取到的压测反馈数据打包写入kafka消息,或者,也可以在完成获取一个压测实例对应的所有压测反馈数据后,将压测实例id与对应的全部压测反馈数据打包写入kafka消息。
113.在一个实施例中,压测结果数据库接收到kafka消息后,读取其中记录的压测实例id和压测反馈数据,并记录该压测实例id与压测反馈数据的对应关系。在压测结果数据库中,分别记录每一压测实例id对应的全部压测反馈数据,以有效区分不同压测流程或压测
步骤对应产生的压测反馈数据。
114.由于kafka消息会按生成顺序自动形成消息队列,因此,在压测结果数据库中,压测反馈数据会根据所在kafka消息的生成顺序或发送顺序形成顺序排列。如此,无需压测结果数据库重新根据压测实例的执行顺序对压测反馈数据进行排列,大大降低数据处理整合的工作量。
115.在一些实施例中,如图5所示,所述方法还包括:
116.s150:获取查询指令;
117.s160:在压测结果数据库中查找与所述查询指令携带的压测实例id对应的压测反馈数据;
118.s170:输出所述压测反馈数据。
119.在本公开实施例中,可以实时输出显示压测反馈数据,也可以由用户在需要查看压测进行情况以及被测服务器的测试状态时,下发携带所需查看的压测实例id的查询指令。
120.在一个实施例中,若确定查询指令中携带的压测实例id对应的压测实例已完成,则可以将该压测实例id对应的全部压测反馈数据输出,以供用户查看。若确定查询指令中携带的压测实例id对应的压测实例未完成,则可以将该压测实例id对应的已获取的压测反馈数据输出,在此基础上,后续还可以在获取该压测实例的剩余压测反馈数据后也以同样的方式输出,以供用户可以查看压测实例完整的压测反馈数据。
121.在另一个实施例中,还可以根据查询指令中的压测实例id,确定对应的压测反馈数据中的异常压测实例信息、和/或异常压测节点信息,并提供给用户作为参考。
122.如此,可以基于用户的查看需求,精准提供所需的压测反馈数据,既可以大大提高压测进程查看的实时性,又可以抑制由于无法细化区分不同压测流程导致压测结果全部输出,大大减少输出数据量。基于此,可以更加利于用户掌握对压测流程的进行情况以及不同压测实例下被测服务器的响应状态。
123.在一些实施例中,所述s130,可包括:
124.若所述压测类型为jmeter压测,基于所述压测参数设置压测进程;
125.配置被测服务器信息;所述被测服务器信息至少包括以下之一:被测服务器的网际互联协议ip地址、被测服务器的端口号、被测服务器的传输协议;
126.配置被测服务器断言触发条件;
127.基于压测过程中至少一个压测实例生成的压测反馈数据,生成压测结果树;所述压测结果树用于按所述压测实例的执行顺序记录所述压测反馈数据;
128.所述s140,可包括:
129.将所述压测结果树记录在压测结果数据库中。
130.在本发明实施例中,对于jmeter压测的压测流程执行,可以包含以下流程阶段:配置被测服务器信息,可以为收集线程组设置和/或被测的服务配置,例如收集线程组设置可包括确定起始线程数、持续时间、循环次数等;被测的服务配置可包括被测服务器的网际互联协议(internet protocol,ip)地址、被测服务器的端口号、被测服务器的传输协议、被测服务器的传输接口等。
131.在一个实施例中,配置被测服务器断言触发条件,可以为设定被测服务的断言情
况。这里,断言为服务器在压测过程中基于检测到一定的触发条件,则自动启用或终止某些操作的指令。例如,在检测到被测服务器资源占用率超过预设阈值时,通过断言终止本次压测过程,或者,启用服务器保护程序等。
132.在另一个实施例中,若在一个压测实例的执行过程中,被测服务器触发了断言,则确定断言所在的压测节点并记录为异常压测节点信息,和/或,确定断言对应的压测实例id并记录为异常压测实例信息。
133.在又一个实施例中,异常压测节点信息和/或异常压测实例信息,可以保存在压测结果树中,并记录在压测结果数据库。
134.在另一个实施例中,基于压测过程中至少一个压测实例生成的压测反馈数据,生成压测结果树,这里,压测结果树可以为按压测实例的执行顺序,或者,也可以在压测过程的多次循环中,将多次循环中相同的压测流程下对应的压测反馈数据按时间顺序显示。如此,将压测实例id与对应的压测反馈数据进行归纳显示,以便于用户根据结果树查看压测进程以及反馈数据等信息。
135.在一个实施例中,将压测结果树记录在压测结果数据库中,可以为将一次完整压测过程中的全部压测反馈数据按压测实例id进行归纳显示,从而针对多次循环的压测过程,生成与循环次数相同数量的压测结果树。也可以将多次循环的压测过程中生成的压测反馈数据记录在同一个压测结果树中,以便于用户比对多次循环压测的服务器反馈状态。
136.在一些实施例中,所述压测反馈数据至少包括以下之一:被测服务器可用内存容量、所述压测实例的响应时长、所述压测实例对应的报错率。
137.这里,被测服务器的可用内存容量,可以表示为被测服务器当前内存可用率、被测服务器内存占用率等。压测实例的响应时长,可以为当前压测实例完成后,统计被测服务器从压测实例的开始时刻到结束时刻所经过的响应时长。压测实例对应的报错率,可以为在压测实例完成后,统计被测服务器在压测实例执行过程中产生的错误率。
138.在一个实施例中,所述压测反馈数据还可以包括:被测服务器所在主机的中央处理器(central processing unit,cpu)的处理资源占用率、磁盘空间可用率、被测服务器平均响应速度等数据。
139.在一些实施例中,所述压测参数至少包括以下之一:压测线程数、压测持续时间、压测循环次数。
140.在本公开实施例中,压测线程数表征同步进行的多个压测线程的数量。压测持续时间可以为每个压测流程所需的执行时长,和/或,压测过程所需的总时长等。压测循环次数表征压测过程中需要重复执行压测的次数。
141.在一个实施例中,压测参数还可以包括单次压测循环周期、相邻两次压测循环的间隔时长、向被测服务器发送的用于进行压力测试的数据包大小等。
142.如图6所示,本公开实施例提供一种压测装置,所述装置包括:
143.获取单元10,用于获取压测指令;
144.查询单元20,用于查询与所述压测指令指示的压测类型对应的配置数据;所述配置数据至少包括:压测参数以及压测流程;
145.执行单元30,用于基于所述压测参数执行所述压测流程;
146.记录单元40,用于记录压测过程中生成的压测反馈数据。
147.在一些实施例中,所述执行单元30,具体用于:
148.基于所述压测参数,生成至少一个压测实例;
149.根据所述压测实例执行所述压测流程。
150.在一些实施例中,所述记录单元40,具体用于:
151.获取压测过程中每一压测实例对应的压测反馈数据;
152.将所述压测反馈数据发送至压测结果数据库。
153.在一些实施例中,所述记录单元40,具体用于:
154.将压测实例身份标识id和所述压测反馈数据写入kafka消息;
155.将所述kafka消息发送至压测结果数据库;所述kafka消息用于供所述压测结果数据库读取压测反馈数据并记录。
156.在一些实施例中,所述获取单元10还用于:
157.获取查询指令;
158.所述装置还包括:
159.查找单元,用于在压测结果数据库中查找与所述查询指令携带的压测实例id对应的压测反馈数据;
160.输出单元,用于输出所述压测反馈数据。
161.在一些实施例中,所述执行单元30,具体用于:
162.若所述压测类型为jmeter压测,基于所述压测参数设置压测进程;
163.配置被测服务器信息;所述被测服务器信息至少包括以下之一:被测服务器的网际互联协议ip地址、被测服务器的端口号、被测服务器的传输协议;
164.配置被测服务器断言触发条件;
165.基于压测过程中至少一个压测实例生成的压测反馈数据,生成压测结果树;所述压测结果树用于按所述压测实例的执行顺序记录所述压测反馈数据;
166.所述记录单元40,具体用于:
167.将所述压测结果树记录在压测结果数据库中。
168.在一些实施例中,所述压测反馈数据至少包括以下之一:被测服务器可用内存容量、所述压测实例的响应时长、所述压测实例对应的报错率。
169.在一些实施例中,所述压测参数至少包括以下之一:压测线程数、压测持续时间、压测循环次数。
170.以下结合上述任一实施例提供一个具体示例:
171.如图7所示,针对命令行压测和脚本压测的过程繁琐、不易操作、压测结果不可实时观测等问题,本公开实施例提出了在线生成压测配置的平台。
172.首先用户在线手动选择压测类型,平台输出对应的压测规范和流程化填写信息,后台自动化生成对应的压测数据;
173.其次根据压测类型,用户可以直接在压测平台执行压测;
174.最后平台自动收集实时压测结果。
175.如此,通过定义不同压测类型的流程化和规范化,数据收集更加规范可靠,解决了因压测数据配置不全或不正确,导致压测失败或者压测效果置信率比较低的情况。流程化操作更简单高效,用户只需要选择压测类型和提交压测配置,即可实施压测并观测实时结
果。不需要反复修改命令行或脚本、上传脚本等繁琐低效操作。
176.具体地,本公开实施例提供一种构建流程化和规范化在线压测平台体系具体方案:
177.1)在线压测平台规范化和流程化压测配置:
178.规范化:对于基础压测和简单压测参数,收集压测必备的参数并对参数做出明确说明,例如ab、wrk压测中参数,起到规范化参数的作用;
179.流程化:对于复杂的压测配置,需要具体规定几个步骤完成,每个步骤有清晰说明,起到流程化作用。例如:jmeter压测我们将分为四个流程化操作进行收集:
180.第一步:收集线程组设置:起始线程数、持续时间、循环次数;
181.第二步:被测的服务配置:被服务的ip和端口号、协议、接口等;
182.第三步:被测服务断言情况设定;
183.第四步:结果树设定查看结果等。
184.2)调优压测机器,在部署压测平台的服务器上安装各种类型的压测插件或者客户端,方便用户施压。
185.3)压测结果实时收集/预览:
186.收集数据阶段:新设计一个压测结果数据库,用来存放和更新实时压测结果;
187.收集数据阶段:压测结果通过kafka消息,实时更新数据库;
188.预览阶段:根据压测实例id,实时读取压测结果,包括:被压测服务器的内存容量、cpu状态、磁盘容量、响应时间、错误率等
189.本公开实施例提供一种电子设备,包括:
190.用于存储处理器可执行指令的存储器;
191.处理器,与存储器连接;
192.其中,处理器被配置为执行前述任意技术方案提供的压测方法。
193.处理器可包括各种类型的存储介质,该存储介质为非临时性计算机存储介质,在电子设备掉电之后能够继续记忆存储其上的信息。
194.处理器可以通过总线等与存储器连接,用于读取存储器上存储的可执行程序,例如,能够执行前述一个或多个技术方案所述方法。
195.本公开一实施例示出一种电子设备的结构。电子设备包括处理组件,其进一步包括一个或多个处理器,以及由存储器所代表的存储器资源,用于存储可由处理组件的执行的指令,例如应用程序。存储器中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件被配置为执行指令,以执行上述方法应用在所述电子设备的任意方法,例如,前述一个或多个技术方案所述方法。
196.电子设备还可以包括一个电源组件被配置为执行电子设备的电源管理,一个有线或无线网络接口被配置为将电子设备连接到网络,和一个输入输出(i/o)接口。电子设备可以操作基于存储在存储器的操作系统,例如windows server tm,mac os xtm,unixtm,linuxtm,freebsdtm或类似。
197.本公开实施例提供一种非临时性计算机可读存储介质,当存储介质中的指令由计算机的处理器执行时,使得计算机能够执行前述一个或多个技术方案所述的压测方法。
198.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其
它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
199.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

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

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

相关文献