模拟百万并发利器,JMeter的使用实践
csdh11 2024-12-20 14:07 4 浏览
一、JMeter介绍
JMeter的官网为:
https://jmeter.apache.org/
引用官方的解释如下:
The Apache JMeter? application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions。
Apache JMeter?应用程序是开源软件,这是一个100%纯Java应用程序,旨在加载测试功能行为和衡量性能。它最初是为测试Web应用程序而设计的,但此后已扩展到其他测试功能。JMeter是针对Web应用的压力测试工具,可以模拟百万的并发线程去进行压力测试。
二、下载安装运行
进入官网下载最新的版本:
https://jmeter.apache.org/download_jmeter.cgi
选择zip的格式进行下载即可。
下载完后解压:
执行文件放于bin里面。
我们进入bin里,执行启动软件即可。
windows双击:jmeter.bat
linux执行:sh jmeter.sh
可以打开软件。
左边就是项目了。
三、使用实践
0、创建线程组及使用
我们在对一个接口进行压力测试的时候。用使用JMeter一般要经历如下过程:
创建线程组:
这个的意思其实就是我们测试接口的时候要创建多少个线程,多少个并发,里面的规则是怎么样的。
创建完线程组后如下:
这个线程组的名字为:admin-corp/detail,线程属性在下文会讲到。
1、Http信息头设置
因为在测试线程的时候往往会设置Http的信息头Hearder的一些参数, 在公共的地方创建一个HTTP信息头管理器来存放,下面的所有接口就都会用到。
在项目下面右键添加:
添加完后设置如下:
2、接口设置
接着上面的第0个步骤,创建完线程组后,就可以开始进行设置线程了。
在线程组下面右键,添加取样器,HTTP请求。
3、参数设置
创建了接口之后,就可以设置接口的参数了。包括url和端口。
大多数接口都有请求参数。
在参数下面双击就可以加入参数。
如下面我添加了name=yaokj的参数。
如果要设置头Header,参数第1项Http信息头设置。
4、运行规则设置
在发起测试请求时,要设置一些线程的参数,就是0、创建线程组及使用里说到的一些参数:
下面说一下红框的3个比较重要的参数。
4.1、线程数:说明的是在发起测试的时候开多少个线程为执行这些请求,理解为线程池的意思。
4.2、Ramp-Up时间(秒):说的是发起所有线程要多少时间,0的意思是马上开始所有的线程。更加详细的说明如下:
Ramp-up Period(in seconds)
【1】决定多长时间启动所有线程。如果使用10个线程,ramp-up period是100秒,那么JMeter用100秒使所有10个线程启动并运行。每个线程会在上一个线程启动后10秒(100/10)启动。Ramp-up需要要充足长以避免在启动测试时有一个太大的工作负载,并且要充足小以至于最后一个线程在第一个完成前启动。 一般设置ramp-up=线程数启动,并上下调整到所需的。
【2】用于告知JMeter 要在多长时间内建立全部的线程。默认值是0。如果未指定ramp-up period ,也就是说ramp-up period 为零, JMeter 将立即建立所有线程。假设ramp-up period 设置成T 秒, 全部线程数设置成N个, JMeter 将每隔T/N秒建立一个线程。
【3】Ramp-Up Period(in-seconds)代表隔多长时间执行,0代表同时并发
【4】假如要使用大量线程的话,ramp-up period 一般不要设置成零。
因为假如设置成零,Jmeter将会在测试的开始就建立全部线程并立即发送访问请求, 这样一来就很轻易使服务器饱和,更重要的是会隐性地增加了负载,这就意味着服务器将可能过载,不是因为*均访问率高而是因为所有线程的第一次并发访问而引起的不正常的初始访问峰值,可以通过Jmeter的聚合报告监听器看到这种现象。
4.3、循环次数:说的就是要执行多少次。
像上面红框的,将会执行80次。
5、运行
左上有一个运行的键钮,点击可执行。
线程的启动情况可以在右上角看:
6、查看接口的执行情况
如果要查看接口的执行情况,是要添加监听器的,如下
在线程下右键添加监听器,查看结果树,就可以看到每一个接口的情况。
在一些情况下我们要看汇总信息,这时我们添加汇总报告。
如果要看所有线程组接口的汇总报告,可以在上一层测试计划下面右键添加汇总报告。
7、清除所有的结果
执行完后,如果要清除所有的监听器结果可以点击上面的清除按钮。
8、命令方式运行
在许多情况下,我们都在图形界面上设置好各种参数,测试样例通过后,再用命令行的方式执行压测任务,因为图形界面很消耗内存。在启动的时候JMeter也有提醒:
命令方式的运行如下:
./jmeter.sh -n -t ../../saas.jmx -l ../../saas_1.jtl
saas.jmx是保存的JMeter文件,saas_1.jtl是执行结果的聚合文件。执行如下:
执行完成后,打开聚合文件saas_1.jtl
添加一个聚合报告
在聚合报告里打开saas_1.jtl
喜欢的朋友评论、点赞、转发、收藏本文。有疑问的在评论区留言。谢谢!
相关推荐
- 15个最好的性能测试工具(软件测试工程师必备)
-
在软件测试日常工作中,大家接触得比较多的性能测试工具有LoadRunner和Jmeter,这里整理了web应用程序性能和负载压力能力的最广泛使用的性能测试工具的综合列表。...
- JMeter关联陌生又熟悉 jmeter re-use connection
-
JMeter关联是什么JMeter关联,这几个字看着可能会有点陌生,实际上却是工作中经常会做的一件事情,尤其是接口自动化,它指的是把一个接口的响应作为另一个接口的参数,从而...
- jmeter汇总报告分析 jmeter总结
-
背景考验网站的不仅仅是数据的正确性,还有更重要的是灵活快速的交互,高并发的处理能力等。那么我们就需要对网站的整体的处理能力有更进一步的了解,以便来通过诸如集群,分布式,更换硬件等方式来提高网站处理能力...
- 收下这份实操案例,还怕不会用Jmeter接口测试工具
-
JMeter简介JMeter,一个100%的纯Java桌面应用...
- Apifox--比 Postman 还好用的 API 测试工具
-
读者提问:有没有一款工具是集API文档、API调试、APIMock、API自动化测试四种功能为一身的?...
- Jmeter之Bean shell使用(二) jmeter中beanshell的定义与引用
-
上一篇Jmeter之Beanshell使用(一)简单介绍了下Jmeter中的Beanshell,本文是对上文的一个补充,主要总结下常用的几种场景和方法,相信这些基本可以涵盖大部分的需求。本节内容...
- 如何服务端调优与JVM调优? 服务端运行环境为jvm
-
目录一、安装Jmeter二、压测三、服务端调优四、线上问题分析(一)问题分类(二)问题排查...
- Jmeter与压测相关概念 jemeter压测
-
RT(responsetime)什么是RT?RT就是指系统在接收到请求和做出相应这段时间跨度但是值得一提的是RT的值越高,并不真的就能说明我们的系统的吞吐量就很高,比如说,如果存在数据在网络中传...
- 性能测试:JMeter参数化 jmeter的参数化
-
jmeter参数化 在实际的测试工作中,我们经常需要对多组不同的输入数据,进行同样的测试操作步骤,以验证我们的软件的功能。这种测试方式在业界称为数据驱动测试,而在实际测试工作中,测试工具中实现不同...
- JMeter 集群环境搭建指南 - 实现高效的压力测试
-
JMeter是一款非常受欢迎的压力测试工具,但是在大规模压力测试时,单机运行已经无法满足需求了。为了提高负载能力,我们需要搭建JMeter集群。下面,我们来看具体的做法。...
- 2022年十大接口测试工具合集 好用的接口测试工具
-
接口测试的全称是应用程序编程接口(API)测试,从原理上来说,接口测试是模拟客户端向服务器端发送请求,然后检查能否获得正确的返回信息。接口测试用于测试RESTfulAPI、SOAPWeb服务,这些...
- 阿里性能专家全方位对比Jmeter和Locust,到底谁更香?
-
本文章出自【码同学软件测试】码同学公众号:自动化软件测试码同学抖音号:小码哥聊软件测试...
- 性能测试工具JMeter的使用 使用jmeter进行两个接口关联测试
-
熟练掌握一款性能测试工具,是我们必备的一项技能。他不仅可以帮助我们模拟测试场景(包括并发、复杂的组合场景),还能将测试结果转化成数据或图形,帮助我们更直观地了解系统性能。jmeter简介...
- JMeter做性能测试,用jdk17和jdk8,哪个性能更好呢?
-
现在企业做接口性能测试,大多还是会用JMeter,而JMeter是用java开发的、开源项目,所以,JMeter依赖java运行环境。目前,jdk已经发布了多个新版本,主推的是jdk17。推荐它的一个...
- 基于JMeter的性能压测平台实现 jmeter压测分析
-
这篇文章已经是两年前写的,短短两年时间,JMeter开源应用技术的发展已经是翻天覆地,最初由github开源项目zyanycall/stressTestPlatform形成的这款测试工具也开始慢...
- 一周热门
-
-
Boston Dynamics Founder to Attend the 2024 T-EDGE Conference
-
IDC机房服务器托管可提供的服务
-
详解PostgreSQL 如何获取当前日期时间
-
查看 CAD文件,电脑上又没装AutoCAD?这款CAD快速看图工具能帮你
-
WildBit Viewer 6.13 快速的图像查看器,具有幻灯片播放和编辑功能
-
新版腾讯QQ更新Windows 9.9.7、Mac 6.9.25、Linux 3.2.5版本
-
一文看懂mysql时间函数now()、current_timestamp() 和sysdate()
-
无须破解,B站官方版本即很流批!
-
流星蝴蝶剑:76邵氏精华版,强化了流星,消失了蝴蝶
-
PhotoShop通道
-
- 最近发表
- 标签列表
-
- serv-u 破解版 (19)
- huaweiupdateextractor (27)
- thinkphp6下载 (25)
- mysql 时间索引 (31)
- mydisktest_v298 (34)
- sql 日期比较 (26)
- document.appendchild (35)
- 头像打包下载 (61)
- oppoa5专用解锁工具包 (23)
- acmecadconverter_8.52绿色版 (39)
- oracle timestamp比较大小 (28)
- f12019破解 (20)
- np++ (18)
- 魔兽模型 (18)
- java面试宝典2019pdf (17)
- beamoff下载 (17)
- vncviewer破解版 (17)
- unity shader入门精要pdf (22)
- word文档批量处理大师破解版 (36)
- pk10牛牛 (22)
- server2016安装密钥 (33)
- mysql 昨天的日期 (37)
- 加密与解密第四版pdf (30)
- pcm文件下载 (23)
- jemeter官网 (31)