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

一种基于JMeter的负载测试方法及相关装置与流程

2022-02-19 05:14:09 来源:中国专利 TAG:

一种基于jmeter的负载测试方法及相关装置
技术领域
1.本技术涉及性能测试技术领域,特别涉及一种基于jmeter的负载测试方法;还涉及一种基于jmeter的负载测试装置、设备以及计算机可读存储介质。


背景技术:

2.apache jmeter是一个基于java语言的性能测试工具,能够进行web端的压力测试与负载测试。jmeter中提供负载测试的测试脚本录制、执行测试、断言和测试结果统计。目前,在负载测试中,保存数据的常用方式为:一、保存在同一文件中,这会导致覆盖上一次的测试结果。二、保存到一个新的文件中,如果需要对比每一次的测试的结果,每执行一次测试,就需要建立一个新的文件,最后还需要整合到同一个文件中。实际项目中,需要统计系统中每一个接口的负载能力,从而判断整个系统的负载能力。在测试接口的负载能力的时候,为了统计预计平均请求响应时间与实际平均请求响应时间等参数的对比,每一个接口的每一次测试执行,都需要保存数据,并对数据进行分析,在这过程中需要手动对比,繁琐复杂。在监管态势系统中,含有非常多的模块,每一个模块又含有很多接口,为了对比所有接口的负载能力以及整个系统的负载能力,需要执行的测试次数非常庞大。如果只是对每一次增加负载的测试结果进行查看,不能将多次测试结果进行对比,则会造成对系统的负载能力测试不够准确,无法判断系统是否符合预期性能。如果将每一次执行测试的结果保存在表格中,再将表格手动进行整理,会极大增加工作时间。
3.有鉴于此,如何节省时间成本与人力成本,并提高负载测试的准确性已成为本领域技术人员亟待解决的技术问题。


技术实现要素:

4.本技术的目的是提供一种基于jmeter的负载测试方法,能够有效节省时间成本与人力成本,并提高负载测试的准确性。本技术的另一个目的是提供一种基于jmeter的负载测试装置、设备以及计算机可读存储介质,均具有上述技术效果。
5.为解决上述技术问题,本技术提供了一种基于jmeter的负载测试方法,包括:
6.建立数据库,并构建展示页面;
7.对目标模块的接口进行负载测试;
8.将每次测试的测试结果数据存储到所述数据库中;
9.依据预设统计规则对所述数据库中的预设时间段的所述测试结果数据进行统计;
10.在所述展示页面展示统计结果。
11.可选的,所述建立数据库包括:
12.建立mysql数据库。
13.可选的,所述测试结果数据包括:
14.平均请求响应时间、请求响应时间中值、最小请求响应时间、最大请求响应时间、异常百分比、吞吐量、接收速率以及发送速率。
15.可选的,所述依据预设统计规则对所述数据库中的预设时间段的测试结果数据进行统计包括:
16.以折线图的形式,统计预设时间段内负载能力最好的接口与负载能力最差的接口在不同负载下的请求响应时间。
17.可选的,所述依据预设统计规则对所述数据库中的预设时间段的测试结果数据进行统计包括:
18.以统计图的形式,统计预设时间段内请求响应时间大于预期请求响应时间的所述接口在所有接口中所占的百分比。
19.可选的,所述依据预设统计规则对所述数据库中的预设时间段的测试结果数据进行统计包括:
20.以统计表的形式,统计预设时间段内每一个所述接口在不同负载下的请求响应时间。
21.可选的,还包括:
22.将所述统计表中请求响应时间大于预期请求响应时间的所述接口进行标注。
23.为解决上述技术问题,本技术还提供了一种基于jmeter的负载测试装置,包括:
24.创建模块,用于建立数据库,并构建展示页面;
25.测试模块,用于对目标模块的接口进行负载测试;
26.存储模块,用于将每次测试的测试结果数据存储到所述数据库中;
27.统计模块,用于依据预设统计规则对所述数据库中的预设时间段的所述测试结果数据进行统计;
28.展示模块,用于在所述展示页面展示统计结果。
29.为解决上述技术问题,本技术还提供了一种基于jmeter的负载测试设备,包括:
30.存储器,用于存储计算机程序;
31.处理器,用于执行所述计算机程序时实现如上任一项所述的基于jmeter的负载测试方法的步骤。
32.为解决上述技术问题,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的基于jmeter的负载测试方法的步骤。
33.本技术所提供的基于jmeter的负载测试方法,包括:建立数据库,并构建展示页面;对目标模块的接口进行负载测试;将每次测试的测试结果数据存储到所述数据库中;依据预设统计规则对所述数据库中的预设时间段的所述测试结果数据进行统计;在所述展示页面展示统计结果。
34.可见,本技术所提供的基于jmeter的负载测试方法,在构建数据库并建立展示页面的基础上,对于对接口进行的每一次测试,均会自动将测试结果数据存储到所建立的数据库中,数据库中的测试结果数据不相互覆盖,由此相较于人工手动对每一次测试的测试结果进行备份的传统技术方案,本技术可以极大的节省时间成本与人力成本。另外,在存储每一次的测试结果数据的同时,本技术进一步对测试结果数据进行统计,并展示统计结果,由此可以使测试结果更加清晰、准确,更便于分析接口的负载能力。
35.本技术所提供的基于jmeter的负载测试装置、设备以及计算机可读存储介质均具
有上述技术效果。
附图说明
36.为了更清楚地说明本技术实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
37.图1为本技术实施例所提供的一种基于jmeter的负载测试方法的流程示意图;
38.图2为本技术实施例所提供的一种基于jmeterde的负载测试装置的示意图;
39.图3为本技术实施例所提供的一种基于jmeter的负载测试设备的示意图。
具体实施方式
40.本技术的核心是提供一种基于jmeter的负载测试方法,能够有效节省时间成本与人力成本,并提高负载测试的准确性。本技术的另一个核心是提供一种基于jmeter的负载测试装置、设备以及计算机可读存储介质,均具有上述技术效果。
41.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
42.请参考图1,图1为本技术实施例所提供的一种基于jmeter的负载测试方法的流程示意图,参考图1所示,该方法主要包括:
43.s101:建立数据库,并构建展示页面;
44.具体的,本步骤旨在建立数据库以及构建展示页面。其中,数据库用于存储每次测试的测试结果数据。展示页面用于展示对测试结果数据进行统计得到的统计结果。
45.在一种具体的实施方式中,上述建立数据库包括:建立mysql数据库。
46.具体而言,可使用java语言编写程序,建立mysql数据库。在建立mysql数据库的基础上,在mysql数据库中建立测试结果列表,该测试结果列表的列可以包括接口名称、模拟用户数、平均请求响应时间(单位为毫秒)、请求响应时间中值(单位为毫秒)、最小请求响应时间(单位为毫秒)、最大请求响应时间(单位为毫秒)、异常百分比、吞吐量、接收速率以及发送速率。对于每次的测试结果数据,自动将其添加到测试结果列表相应列下。
47.可以明白的是,本技术所提供的上述数据库的实施例,仅为本技术所提供的一种实施方式,而非唯一限定,除可以为mysql数据库,还可以为其他类型的数据库,可以进行差异性设置。
48.s102:对目标模块的接口进行负载测试;
49.具体的,本步骤旨在基于jmeter对监管态势系统中的目标模块的接口的负载能力进行测试。负载测试是指不限制软件的运行资源,测试软件的数据吞吐量上限,以发现软件设计上的错误或者验证系统的负载能力。接口预设访问时间限制为a秒,当多用户同时访问同一个接口的响应时间超过a秒时,此时的用户数称为接口的负载能力。jmeter中进行负载测试的流程主要包括:建立虚拟线程组;设置请求地址、端口,即需要测试的接口的地址;设
置采样器;设置前置处理器;设置响应断言,用于判断实际结果与预期结果是否一致,在负载测试中指的是请求是否得到正确响应;设置后置处理器;设置监听器。对接口进行负载测试时可首先建立测试计划,并在测试计划中添加线程组。添加http请求取样器,设置服务器ip为监管态势测试地址、测试端口、http请求和接口路径。其中,http请求是指请求响应的方式,目的在于判断是获取数据还是写入数据;添加响应断言;设置测试字段和测试模式;添加聚合报告;执行测试。
50.s103:将每次测试的测试结果数据存储到所述数据库中;
51.具体的,每次测试完成后,自动将测试结果数据存储到所建立的数据中,数据库中的数据相互独立,不相互覆盖。也就是说,本次的测试结果数据不会覆盖前一次的测试结果数据,下一次的测试结果数据也不会覆盖本次的测试结果数据。数据库中存在每一次测试的测试结果数据。
52.当所建立的数据库为mysql数据库时,运行所编写的java程序,使用mysql数据库的结构化语言insert将聚合报告中的数据保存至所建立的mysql数据库中。insert是mysql数据库的一种新增数据的语法。
53.s104:依据预设统计规则对所述数据库中的预设时间段的测试结果数据进行统计;
54.s105:在所述展示页面展示统计结果。
55.具体的,步骤s104与s105旨在对测试结果数据进行统计并展示统计结果。其中,上述预设时间段可以为一周、一个月等,具体根据实际测试需求进行相适应的设置。
56.在一种具体的实施方式中,上述依据预设统计规则对所述数据库中的预设时间段的测试结果数据进行统计可以包括:
57.以折线图的形式,统计预设时间段内负载能力最好的接口与负载能力最差的接口在不同负载下的请求响应时间。
58.具体而言,可以负载作为横坐标,以请求响应时间作为纵坐标,构建负载能力最好的接口与负载能力最差的接口的负载与请求响应时间关系折线图。以折线图的形式统计接口在不同负载下的请求响应时间,能够更好的表达在测试过程中,随着负载的逐步增加,请求响应时间的下降幅度。
59.其中,可以构建两个折线图,一个为负载能力最好的接口的负载与请求响应时间关系的折线图,一个为负载能力最差的接口的负载与请求响应时间关系的折线图。或者,还可以只构建一个折线图,负载能力最差的接口的负载与请求响应时间的关系以及负载能力最差的接口的负载与请求响应时间的关系在一个折线图中体现,负载能力最差的接口的负载与请求响应时间的关系折线与负载能力最差的接口的负载与请求响应时间的关系折线通过两种颜色做区分。
60.在以折线图的形式,统计预设时间段内负载能力最好的接口与负载能力最差的接口在不同负载下的请求响应时间的基础上,相应的可在展示界面中展示该折线图。
61.在另一种具体的实施方式中,上述依据预设统计规则对所述数据库中的预设时间段的测试结果数据进行统计可以包括:以统计表的形式,统计预设时间段内每一个接口在不同负载下的请求响应时间。
62.具体而言,统计表的列可以包括接口名称、负载、负载能力是否符合预期。每个接
口在不同负载下的请求响应时间,填写至对应负载的列下。
63.在以统计表的形式,统计预设时间段内每一个接口在不同负载下的请求响应时间的基础上,相应的可在展示界面中展示该统计表。
64.其中,为了更清晰的展示监管态势系统的负载测试情况,以便针对性的对不符合预期的接口进行调整,作为一种具体的实施方式,还包括:将所述统计表中请求响应时间大于预期请求响应时间的接口进行标注。例如,将统计表中请求响应时间大于预期请求相应时间的接口进行标红。
65.在另一种具体的实施方式中,上述依据预设统计规则对所述数据库中的预设时间段的测试结果数据进行统计可以包括:
66.以统计图的形式,统计预设时间段内请求响应时间大于预期请求响应时间的所述接口在所有接口中所占的百分比。
67.具体而言,本实施例采用统计图的形式,例如饼状图的形式,统计请求响应时间大于预期请求响应时间的接口在所有接口中所占的百分比。在以统计图的形式,统计预设时间段内不同接口的请求响应时间大于预期请求响应时间的数量在所有接口中所占的百分比的基础上,相应的可在展示界面中展示该统计图。
68.可以明白的是,在对测试结果数据进行统计以及展示统计结果时,可以单独采取上述统计与展示方案方中的任意一种,也可以采取上述统计与展示方案中的任意两种的组合,或者还可以同时采取上述三种统计与展示方案。
69.进一步,在展示页面上还可以展示所有的测试结果数据,供测试人员查看分析。另外,对于数据库中存储时间比较久远的数据,可以定期进行清除,以便预留更大的存储空间为后续测试做准备。
70.综上所述,本技术所提供的基于jmeter的负载测试方法,包括:建立数据库,并构建展示页面;对目标模块的接口进行负载测试;将每次测试的测试结果数据存储到所述数据库中;依据预设统计规则对所述数据库中的预设时间段的所述测试结果数据进行统计;在所述展示页面展示统计结果。可见,本技术所提供的基于jmeter的负载测试方法,在构建数据库并建立展示页面的基础上,对于对接口进行的每一次测试,均会自动将测试结果数据存储到所建立的数据库中,数据库中的测试结果数据不相互覆盖,由此相较于人工手动对每一次的测试结果进行备份的传统技术方案,本技术可以极大的节省时间成本与人力成本。另外,在存储每一次测试的测试结果数据的同时,本技术进一步对测试结果数据进行统计,并展示统计结果,由此可以使测试结果更加清晰、准确,更便于分析接口的负载能力。
71.本技术还提供了一种基于jmeter的负载测试装置,下文描述的该装置可以与上文描述的方法相互对应参照。请参考图2,图2为本技术实施例所提供的一种基于jmeter的负载测试装置的示意图,结合图2所示,该装置包括:
72.创建模块10,用于建立数据库,并构建展示页面;
73.测试模块20,用于对目标模块的接口进行负载测试;
74.存储模块30,用于将每次测试的测试结果数据存储到所述数据库中;
75.统计模块40,用于依据预设统计规则对所述数据库中的预设时间段的所述测试结果数据进行统计;
76.展示模块50,用于在所述展示页面展示统计结果。
77.在上述实施例的基础上,作为一种具体的实施方式,所述创建模块10具体用于:
78.建立mysql数据库。
79.在上述实施例的基础上,作为一种具体的实施方式,所述测试结果数据包括:
80.平均请求响应时间、请求响应时间中值、最小请求响应时间、最大请求响应时间、异常百分比、吞吐量、接收速率以及发送速率。
81.在上述实施例的基础上,作为一种具体的实施方式,所述统计模块40具体用于:
82.以折线图的形式,统计预设时间段内负载能力最好的接口与负载能力最差的接口在不同负载下的请求响应时间。
83.在上述实施例的基础上,作为一种具体的实施方式,所述统计模块40具体用于:
84.以统计图的形式,统计预设时间段内请求响应时间大于预期请求响应时间的所述接口在所有接口中所占的百分比。
85.在上述实施例的基础上,作为一种具体的实施方式,所述统计模块40具体用于:
86.以统计表的形式,统计预设时间段内每一个所述接口在不同负载下的请求响应时间。
87.在上述实施例的基础上,作为一种具体的实施方式,还包括:
88.标注模块,用于将所述统计表中请求响应时间大于预期请求响应时间的所述接口进行标注。
89.本技术所提供的基于jmeter的负载测试装置,在构建数据库并建立展示页面的基础上,对于对接口进行的每一次测试,均会自动将测试结果数据存储到所建立的数据库中,数据库中的测试结果数据不相互覆盖,由此相较于人工手动对每一次的测试结果进行备份的传统技术方案,本技术可以极大的节省时间成本与人力成本。另外,在存储每一次测试的测试结果数据的同时,本技术进一步对测试结果数据进行统计,并展示统计结果,由此可以使测试结果更加清晰、准确,更便于分析接口的负载能力。
90.本技术还提供了一种基于jmeter的负载测试设备,参考图3所示,该设备包括存储器1和处理器2。
91.存储器1,用于存储计算机程序;
92.处理器2,用于执行计算机程序实现如下的步骤:
93.建立数据库,并构建展示页面;对目标模块的接口进行负载测试;将每次测试的测试结果数据存储到所述数据库中;依据预设统计规则对所述数据库中的预设时间段的所述测试结果数据进行统计;在所述展示页面展示统计结果。
94.对于本技术所提供的设备的介绍请参照上述方法实施例,本技术在此不做赘述。
95.本技术还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下的步骤:
96.建立数据库,并构建展示页面;对目标模块的接口进行负载测试;将每次测试的测试结果数据存储到所述数据库中;依据预设统计规则对所述数据库中的预设时间段的所述测试结果数据进行统计;在所述展示页面展示统计结果。
97.该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
98.对于本技术所提供的计算机可读存储介质的介绍请参照上述方法实施例,本技术在此不做赘述。
99.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备以及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
100.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
101.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd

rom、或技术领域内所公知的任意其它形式的存储介质中。
102.以上对本技术所提供的基于jmeter的负载测试方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围。
再多了解一些

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

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

相关文献