目录
- 一、简介
- 二、下载
- 三、安装
- 四、启动
- 五、使用
- 1.调整界面显示大小
- 2.添加线程组
- 3.添加 HTTP 请求
- 4.添加 HTTP 请求头
- 5.保存压测配置
- 6.启动压测
- 7.查看结果树
- 8.查看聚合报告
- 六、补充
- 1.设置中文
- 2.设置字体大小(永久生效)
- 3.中文乱码
一、简介
- 官网地址: 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.添加线程组
在开始测试前,我们需要创建一个线程组。在执行计划上右键,选择 Add
-> Thread (Users)
-> Thread Group
。
然后,我们就可以在创建的线程组上设置我们需要进行的压力测试场景了,包括需要模拟的用户数(线程数)
,上升到要求并发量的时间
,需要循环执行的次数
等。
3.添加 HTTP 请求
线程组创建好后,我们需要给线程组添加 HTTP 请求。在线程组上右键,选择 Add
-> Sampler
-> HTTP Request
。
根据需要压测的场景填写服务器IP
、端口号
、请求方式
、路径
、编码格式
(utf-8),以及入参信息
。
参数信息里的 Content-Type
一般默认为 text/plain
,表示普通文本格式传参。
如果需要使用 JSON 传参,需要将标签切换为 Body Data
,然后在下面添加请求头的时候额外添加 Content-Type
请求头,值为application/json
。
4.添加 HTTP 请求头
部分场景下,我们需要给 HTTP 请求添加请求头。在 HTTP 请求上右键,选择 Add
-> Config Element
-> HTTP Header Manager
。
比如,我们可以在请求头里面设置一个 token 的值,用于通过接口的鉴权校验。
5.保存压测配置
我们点击右下角的 Save
按钮,或者使用快捷键 Ctrl + S 来进行保存。这里我在 jmeter 目录下单独创建了一个 my_jmx
文件夹用于存储自己的压测文件。
6.启动压测
这里补充说明一下几个按钮的含义:
Start
:正常启动压测。Start no pauses
:无停顿启动压测:忽略定时器。Stop
:直接停止接下来进行的所有线程。Shutdown
:在当前线程运行结束后,才会把剩下没有执行的线程结束掉。
压测的配置设置好后,有两种启动压测的方式:
方式一:选中设置好的线程组,在 JMeter 界面的左上角,点击播放样式的 Start
按钮。
方式二:在设置好的线程组右键,选择 Start
。
7.查看结果树
压测之后,我们需要查看压测结果。在 HTTP 请求上右键,选择 Add
-> Listener
-> View Results Tree
。
压测结果树页面如下所示:
8.查看聚合报告
结果树上可以看到请求响应的内容,如果想看到压测接口的具体指标,需要查看聚合报告。在 HTTP 请求上右键,选择 Add
-> Listener
-> Summary Report
。
聚合报告页面如下所示:(为方便查看,切换为中文展示)
六、补充
1.设置中文
在 JMeter 界面中选择 Options
-> Choose Language
-> Chinese (Simplified)
。
上面这种设置方式只是临时生效,永久生效的话需要修改 bin
文件夹下的 jmeter.properties
文件,增加如下配置:
language=zh_CN
2.设置字体大小(永久生效)
由于 JMeter 的默认字体比较小,为了更方便地使用 JMeter 进行压测,我们需要调整字体的大小。
首先,我们需要在 JMeter 界面将主题修改为 Metal
,这个主题可以更好地让我们的字体大小配置生效。如果不想切换主题的话,每次启动之后需要手动 Zoom In
一下。
刚切换完主题,样式可会乱,点击 Yes
重启即可。
然后,编辑 jmeter.properties
文件,调整图标和文字的大小,增加如下配置:
jsyntaxtextarea.font.family=Hack
jsyntaxtextarea.font.size=25
jmeter.hidpi.mode=true
jmeter.hidpi.scale.factor=2.0
jmeter.toolbar.icons.size=48x48
最后,编辑 jmeter.bat
,在第一行 @echo off
下面增加如下配置:
@echo offset JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.controlFont=Dialog-30
set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.systemFont=Dialog-30
set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.userFont=SansSerif-30
set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.smallFont=SansSerif-30
保存后,重启 JMeter,就可以看到字体和图标已经变大了:
3.中文乱码
如果响应结果中文显示为乱码,如下图所示:
需要在 jmeter.properties
中添加如下配置:
sampleresult.default.encoding=UTF-8
重启后再次请求,发现响应结果中文显示正常:
整理完毕,完结撒花~ 🌻
参考地址:
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
3.jmeter5.4.1修改字体大小,试错多次,终于成功,https://blog.csdn.net/qq_44084906/article/details/121717542
4.【Jmeter】Jmeter响应消息中文显示乱码,https://blog.csdn.net/qq_22938603/article/details/125806350