目录
- 一、简介
- 二、下载
- 三、安装
- 四、启动
- 五、使用
- 1.调整界面显示大小
- 2.改为中文(选)
- 3.添加线程组
- 4.添加 HTTP 请求
- 5.添加 HTTP 请求头
- 6.保存压测配置
- 7.启动压测
- 8.查看结果树
- 9.查看聚合报告
一、简介
- 官网地址: https://jmeter.apache.org/
JMeter
:是Apache
公司使用 Java 语言开发的一款开源软件,用于对静态和动态资源进行压力测试。JMeter 可对服务器、网络或对象模拟巨大的负载,在不同压力类别下测试它们的强度和分析整体性能。
除此之外,LoadRunner
也是一款出色的压测工具,可以通过脚本定制接口的调用逻辑。
注意:虽然 Postman
的 Runner 也可以进行压测,但是它是串行执行的,上一个请求结束之后才开始下一个请求,属于连续测试,不属于并发测试。而 JMeter 可以指定用户数,发请求的间隔时间,可以模拟并发测试。
二、下载
打开官网地址,选择 Download Releases
标签,选择 apache-jemeter-5.6.zip
下载即可。
注意:JMeter 要求 JDK8 的安装环境,需要先安装 JDK8 后才能使用。
下载后,文件如下:
三、安装
将下载后的压缩包进行解压:
其中 bin
文件夹中包含启动脚本 jmeter.bat
。
(为了后续运行方便,可以发送到桌面快捷方式。)
四、启动
双击 jmeter.bat
,可以看到打开了一个控制台终端和 JMeter 的操作界面。
五、使用
1.调整界面显示大小
如果我们觉得界面字体太小,我们可以在 JMeter 界面中选择 Options
-> Zoom In
或 Zoom Out
来调整大小。
2.改为中文(选)
在 JMeter 界面中选择 Options
-> Choose Language
-> Chinese (Simplified)
。
3.添加线程组
在开始测试前,我们需要创建一个线程组。在执行计划上右键,选择 Add
-> Thread (Users)
-> Thread Group
。
然后,我们就可以在创建的线程组上设置我们需要进行的压力测试场景了,包括需要模拟的用户数(线程数)
,上升到要求并发量的时间
,需要循环执行的次数
等。
4.添加 HTTP 请求
线程组创建好后,我们需要给线程组添加 HTTP 请求。在线程组上右键,选择 Add
-> Sampler
-> HTTP Request
。
根据需要压测的场景填写服务器IP
、端口号
、请求方式
、路径
、编码格式
(utf-8),以及入参信息
。
参数信息里的 Content-Type
一般有两种值:
- 默认为
text/plain
,表示普通文本格式传参。 application/json
,使用 JSON 格式传参。
5.添加 HTTP 请求头
部分场景下,我们需要给 HTTP 请求添加请求头。在 HTTP 请求上右键,选择 Add
-> Config Element
-> HTTP Header Manager
。
比如,我们可以在请求头里面设置一个 token 的值,用于通过接口的鉴权校验。
6.保存压测配置
我们点击右下角的 Save
按钮,或者使用快捷键 Ctrl + S 来进行保存。这里我在 jmeter 目录下单独创建了一个 my_jmx
文件夹用于存储自己的压测文件。
7.启动压测
这里补充说明一下几个按钮的含义:
Start
:正常启动压测。Start no pauses
:无停顿启动压测:忽略定时器。Stop
:直接停止接下来进行的所有线程。Shutdown
:在当前线程运行结束后,才会把剩下没有执行的线程结束掉。
压测的配置设置好后,有两种启动压测的方式:
方式一:选中设置好的线程组,在 JMeter 界面的左上角,点击播放样式的 Start
按钮。
方式二:在设置好的线程组右键,选择 Start
。
8.查看结果树
压测之后,我们需要查看压测结果。在 HTTP 请求上右键,选择 Add
-> Listener
-> View Results Tree
。
压测结果树页面如下所示:
9.查看聚合报告
结果树上可以看到请求响应的内容,如果想看到压测接口的具体指标,需要查看聚合报告。在 HTTP 请求上右键,选择 Add
-> Listener
-> Summary Report
。
聚合报告页面如下所示:(为方便查看,切换为中文展示)
整理完毕,完结撒花~ 🌻
参考地址:
1.postman和JMeter并发测试对比,https://blog.csdn.net/XXX1238XGH/article/details/116456907
2.Jmeter安装教程与使用,https://blog.csdn.net/SoulNone/article/details/127141672
3.jmeter stop shutdown Start no pauses,https://www.cnblogs.com/jiaoyaxiong/p/14602582.html