CN111008142A - 基于Jmeter实现阶梯型压力测试方法 - Google Patents
基于Jmeter实现阶梯型压力测试方法 Download PDFInfo
- Publication number
- CN111008142A CN111008142A CN201911293254.6A CN201911293254A CN111008142A CN 111008142 A CN111008142 A CN 111008142A CN 201911293254 A CN201911293254 A CN 201911293254A CN 111008142 A CN111008142 A CN 111008142A
- Authority
- CN
- China
- Prior art keywords
- jmeter
- test
- creating
- type pressure
- pressure testing
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于Jmeter实现阶梯型压力测试方法,涉及阶梯型压力测试技术领域。本发明包括以下步骤:步骤一,打开jmeter,新建jmeter脚本;步骤二,使用jmeter创建线程组;步骤三,创建http请求,并输入待测的接口信息,然后查看测试结果,完成测试。本发明通过Jmeter测试工具为基础的负载性压力测试,测试效果基本达到;通过Jmeter第三方工具丰富了我们的测试计划,使得测试场景不再单一;加入k8s脚本,实时监控微服务pod的CPU、以及内存等数值,测试结论变得更为准确;通过逐级递增并发数的方式,慢慢给接口加压,快速有效的找到接口性能的瓶颈。
Description
技术领域
本发明属于阶梯型压力测试技术领域,特别是涉及一种基于Jmeter实现阶梯型压力测试方法。
背景技术
随着软件测试的发展,由于测试场景的复杂多样,人们不仅仅局限于功能测试,一些大业务量的场景是功能测试无法满足的,所以就要由浅入深,通过模拟并发数来找到接口性能上的极限或者说是瓶颈,性能测试应运而生。目前世面上最长使用的两种测试工具--jmeter和loadrunner。相比起loadrunner,Jmeter有着轻便、安装简单、功能强大、开源、监控方便、免费等优点。通过jmeter工具开辟线程数来模拟用户负载来完成性能测试工作。
首先,Jmeter自身线程组的测试计划比较单一,不能覆盖多的测试场景。其次,不好找到接口性能的瓶颈,往往需要进行反复的测试,反复的实验。而且本身的jmeter没有很好的硬件监控工具;最后,Jmeter工具本身只能测试出接口的性能数值的平均值(比如平均响应时间、平均TPS等)无法对接口进行实时监控,不能保证测试数据的准确性。
发明内容
本发明的目的在于提供一种基于Jmeter实现阶梯型压力测试方法,通过,解决了不能保证测试数据的准确性的问题。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明为一种基于Jmeter实现阶梯型压力测试方法,包括以下步骤:
步骤一,打开jmeter,新建jmeter脚本;
步骤二,使用jmeter创建线程组;
步骤三,创建http请求,并输入待测的接口信息,然后查看测试结果,完成测试。
优选地,所述步骤二中jmeter创建线程组的步骤如下:
步骤一,打开jmeter文件夹,建立一个测试计划;
步骤二,选中jmeter中的线程组,完成jmeter线程组创建。
优选地,所述jmeter创建线程组的步骤一中测试计划为:
设定的线程数;
第一次等待多少秒后执行脚本;
一次增加多少个线程;
每次增加线程结束后,持续多少秒;
增加线程需要多少时间;
当达到最高线程数时,持续的时间;
每次减少多少个线程;
每次减少进程后只需多少秒。
优选地,所述步骤三中创建http请求步骤为:
步骤一,首先要建立一个socket连接;
步骤二,连接成功建立后,开始向web服务器发送请求;
步骤三,应答web服务器收到这个请求,进行处理。
优选地,所述创建http请求步骤一中socket通过ip和端口建立。
优选地,所述创建http请求步骤二中请求维GET或POST命令中的任意一种;其中GET命令的格式为:GET路径/文件名HTTP/1.0。
本发明具有以下有益效果:
本发明通过Jmeter测试工具为基础的负载性压力测试,测试效果基本达到;通过Jmeter第三方工具丰富了我们的测试计划,使得测试场景不再单一;加入k8s脚本,实时监控微服务pod的CPU、以及内存等数值,测试结论变得更为准确;通过逐级递增并发数的方式,慢慢给接口加压,快速有效的找到接口性能的瓶颈;通过Jmeter地方工具,实时观察接口的响应时间、TPS等性能重要指标。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的基于Jmeter实现阶梯型压力测试方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1所示,本发明为一种基于Jmeter实现阶梯型压力测试方法,本发明为一种基于Jmeter实现阶梯型压力测试方法,包括以下步骤:
步骤一,打开jmeter,新建jmeter脚本;
步骤二,使用jmeter创建线程组;
步骤三,创建http请求,并输入待测的接口信息,然后查看测试结果,完成测试。
其中,所述步骤二中jmeter创建线程组的步骤如下:
步骤一,打开jmeter文件夹,建立一个测试计划;
步骤二,选中jmeter中的线程组,完成jmeter线程组创建。
优选地,所述jmeter创建线程组的步骤一中测试计划为:
This group will start:设定的线程数;
Frist,wait for:第一次等待多少秒后执行脚本;
Then start:开始时设置的线程数;
Next,add:一次增加多少个线程;
threads every:每次增加线程结束后,持续多少秒;
using ramp-up:增加线程需要多少时间(5s增加100个线程,或1s增加20个线程);
Then hold load for:当达到最高线程数时,持续的时间;
Finally,stop:每次减少多少个线程;
threads every:每次减少进程后只需多少秒。
按照上述的配置实施例为:设置的总线程数是500,初始时,线程数为0,每秒增加20个线程,当线程数达到100时;
持续60s,而后继续增加线程,同样每秒20个线程,当线程数达到200时,持续60s,后面的循环这个步骤;
当并发数达到500时,不再增加线程,保持500线程持续100s,此时以每秒100减少其线程数。直到线程数为0;
脚本执行结束。
其中,所述步骤三中创建http请求步骤为:
步骤一,首先要建立一个socket连接;
步骤二,连接成功建立后,开始向web服务器发送请求;
步骤三,应答web服务器收到这个请求,进行处理。
其中,所述创建http请求步骤一中socket通过ip和端口建立。
其中,所述创建http请求步骤二中请求维GET或POST命令中的任意一种;其中GET命令的格式为:GET路径/文件名HTTP/1.0。
对微服务的CPU、内存的监控:
将k8s脚本放在root目录下,在root目录执行kubectl get pod--show-labels=true|grep服务名就可以找到该服务的信息,找到对应的app名;
在使用./kube-metrics-tpod-sapp=app名称,就可以监控该微服务下的cpu、以及内存。该脚本1s刷新一次,可以实时监控该微服务的性能。
值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (6)
1.一种基于Jmeter实现阶梯型压力测试方法,其特征在于,包括以下步骤:
步骤一,打开jmeter,新建jmeter脚本;
步骤二,使用jmeter创建线程组;
步骤三,创建http请求,并输入待测的接口信息,然后查看测试结果,完成测试。
2.根据权利要求1所述的一种基于Jmeter实现阶梯型压力测试方法,其特征在于,所述步骤二中jmeter创建线程组的步骤如下:
步骤一,打开jmeter文件夹,建立一个测试计划;
步骤二,选中jmeter中的线程组,完成jmeter线程组创建。
3.根据权利要求2所述的一种基于Jmeter实现阶梯型压力测试方法,其特征在于,所述jmeter创建线程组的步骤一中测试计划为:
设定的线程数;
第一次等待多少秒后执行脚本;
一次增加多少个线程;
每次增加线程结束后,持续多少秒;
增加线程需要多少时间;
当达到最高线程数时,持续的时间;
每次减少多少个线程;
每次减少进程后只需多少秒。
4.根据权利要求1所述的一种基于Jmeter实现阶梯型压力测试方法,其特征在于,所述步骤三中创建http请求步骤为:
步骤一,首先要建立一个socket连接;
步骤二,连接成功建立后,开始向web服务器发送请求;
步骤三,应答web服务器收到这个请求,进行处理。
5.根据权利要求4所述的一种基于Jmeter实现阶梯型压力测试方法,其特征在于,所述创建http请求步骤一中socket通过ip和端口建立。
6.根据权利要求4所述的一种基于Jmeter实现阶梯型压力测试方法,其特征在于,所述创建http请求步骤二中请求维GET或POST命令中的任意一种;其中GET命令的格式为:GET路径/文件名HTTP/1.0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911293254.6A CN111008142A (zh) | 2019-12-12 | 2019-12-12 | 基于Jmeter实现阶梯型压力测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911293254.6A CN111008142A (zh) | 2019-12-12 | 2019-12-12 | 基于Jmeter实现阶梯型压力测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111008142A true CN111008142A (zh) | 2020-04-14 |
Family
ID=70114898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911293254.6A Pending CN111008142A (zh) | 2019-12-12 | 2019-12-12 | 基于Jmeter实现阶梯型压力测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111008142A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949504A (zh) * | 2020-08-19 | 2020-11-17 | 政采云有限公司 | 一种压力测试方法、装置及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491754A (zh) * | 2017-09-12 | 2019-03-19 | 北京京东尚科信息技术有限公司 | 虚拟服务器的性能测试方法和装置 |
CN109597761A (zh) * | 2018-12-03 | 2019-04-09 | 四川长虹电器股份有限公司 | 一种基于Jmeter的接口自动化测试方法 |
CN110502435A (zh) * | 2019-07-26 | 2019-11-26 | 广东睿江云计算股份有限公司 | 基于Jmeter的自动化性能测试方法及其系统 |
-
2019
- 2019-12-12 CN CN201911293254.6A patent/CN111008142A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491754A (zh) * | 2017-09-12 | 2019-03-19 | 北京京东尚科信息技术有限公司 | 虚拟服务器的性能测试方法和装置 |
CN109597761A (zh) * | 2018-12-03 | 2019-04-09 | 四川长虹电器股份有限公司 | 一种基于Jmeter的接口自动化测试方法 |
CN110502435A (zh) * | 2019-07-26 | 2019-11-26 | 广东睿江云计算股份有限公司 | 基于Jmeter的自动化性能测试方法及其系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949504A (zh) * | 2020-08-19 | 2020-11-17 | 政采云有限公司 | 一种压力测试方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562610B (zh) | 获取页面加载时间的方法、装置、终端和介质 | |
CN107193750B (zh) | 一种脚本录制方法和装置 | |
WO2021003818A1 (zh) | 接口测试用例生成方法、装置、计算机设备及存储介质 | |
CN106681811B (zh) | 基于线程池的多线程调度方法及装置 | |
CN111563014B (zh) | 接口服务性能测试方法、装置、设备和存储介质 | |
CN112596972A (zh) | 车载设备的测试方法、装置、系统、计算机设备 | |
CN104572422A (zh) | 一种基于Linux系统开关机下内存监测实现方法 | |
WO2017050037A1 (zh) | 一种自动化测试方法及装置 | |
CN112650676A (zh) | 软件测试方法、装置、设备及存储介质 | |
WO2019100690A1 (zh) | 电子装置、测试的方法、系统及计算机可读存储介质 | |
CN111008142A (zh) | 基于Jmeter实现阶梯型压力测试方法 | |
CN113360389A (zh) | 一种性能测试方法、装置、设备及存储介质 | |
CN111737065B (zh) | 一种基于服务器接口测试的需求模型的接口测试方法及系统 | |
CN117573548A (zh) | 数据库性能的测试方法及装置、电子设备和存储介质 | |
CN115454565A (zh) | 虚拟机的数据迁移方法、装置、电子设备及存储介质 | |
CN113590498B (zh) | 一种桌面操作系统应用启动时间的测试方法及系统 | |
CN113742219B (zh) | 压力调节和性能测试方法、系统及存储介质 | |
CN115495297A (zh) | 一种服务器硬盘测试的方法及装置、电子设备、存储介质 | |
CN114328196A (zh) | 数据防泄漏系统的测试方法、装置、设备及存储介质 | |
CN114003442B (zh) | 一种arm服务器的压力测试方法、装置、设备及介质 | |
CN112328281A (zh) | 一种服务器固件刷新方法和装置 | |
CN112565746A (zh) | 一种摄像机有线网口检测ip地址自动化压力测试方法与流程 | |
CN109614307B (zh) | 业务系统的线上压力测试的方法、装置及服务器 | |
CN113127369A (zh) | 一种执行脚本的处理方法以及装置 | |
CN112612707B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200414 |
|
WD01 | Invention patent application deemed withdrawn after publication |