一:介绍
1 2
| jmeter是apache下的一个压测工具,用于web压测,可以有效的了解 我们编写的接口是否正常,以及接口的吞吐量和相应时间等信息。
|
二:下载

三:安装
3.1 基本配置
1 2 3 4 5
| 1.解压文件到某个目录下,我这里是:D:\my-tools\apache-jmeter-5.4.1 2.配置用户变量:JMETER_HOME = D:\my-tools\apache-jmeter-5.4.1 3.配置CLASSPATH,加入:.;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar; %JMETER_HOME%\lib\jorphan.jar; 4.配置path,加入:%JMETER_HOME%\bin; 5.备注:如果提示jmeter不是内部或外部命令,则配置path直接用全路径:如:D:\my-tools\apache-jmeter-5.4.1\bin
|

3.2 汉化
1 2
| 找到jmeter安装目录下的bin下面的jmeter.properties,添加:language=zh_CN, 重启即可汉化。
|

3.3 安装Stepping Thread Group
1 2 3
| Stepping Thread Group是可以设置递增线程数的插件,可以合理的设置并发数, 阶梯式的递增和递减,通过下面的下载地址,下载后解压,然后将 JMeterPlugins-Standard.jar包 放在jmeter安装目录apache-jmeter-4.0\lib\ext 下,重新启动jmeter即可使用。
|


3.4 基本按钮操作

四:使用Stepping Thread Group压测
4.1 创建测试计划

4.2 添加线程(用户)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 右键创建好的计划,添加-线程(用户)-jp@gc-Stepping Thread Group 参数释义:
This group will start 100 threads:设置线程组启动的线程总数为100个;
First,wait for N seconds:启动第一个线程之前,需要等待N秒;
Then start N threads:设置最开始时启动N个线程;
Next,add 10 threads every 30 seconds,using ramp-up 5 seconds:每隔30秒,在5秒内启动10个线程;
Then hold load for 60 seconds:启动的线程总数达到最大值之后,再持续运行60秒;
Finally,stop 5 threads every 1 seconds:每秒停止5个线程;
|


4.3 添加取样器Http请求
1 2
| 右键创建好的线程-添加-取样器-Http请求。 配置http请求的协议,ip,端口号,路径以及参数
|

4.4 添加响应断言
1 2
| 右键创建好的线程-添加-断言-响应断言。 响应断言可以设置哪些预期的结果是复合我们需求的,一般用状态码200.
|

4.5 添加-监听-查看结果树
1 2
| 右键创建好的线程-添加-监听-查看结果树。 结果树会显示每次响应的request和response信息。
|

4.6 添加-监听-聚合报告
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| 右键创建好的线程-添加-监听-聚合报告,字段解释如下: Label: 请求的名称,就是我们在进行测试的httprequest sampler的名称 样本: 总共发给服务器的请求数量,如果模拟10个用户,每个用户迭代10次,那么总的请求数为:10*10 =100次; 平均值: 默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时, 以Transaction 为单位显示平均响应时间 ,单位是毫秒 中位数: 50%用户的请求的响应时间,中位数 90%百分比: 90%的请求的响应时间 95%百分比: 95%的请求的响应时间 99%百分比: 99%的请求的响应时间 最小值: 最小的响应时间 最大值: 最大的响应时间 错误%: 错误率=错误的请求的数量/请求的总数 吞吐量: 默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时, 也可以表示类似 LoadRunner 的 Transaction per Second 数 ,可以计算此服务器每秒可以处理的请求数 接收KB/sec: 每秒从服务器端接收到的数据量 发送KB/sec: 每秒给服务器端发送的数据量
|

4.7 添加-监听-响应时间图
1 2
| 右键创建好的线程-添加-监听-响应时间图。‘ 可以查看这次压测总的响应时间的图表。
|

4.8 其他
1 2
| 在一次测试中可以根据自己的实际需求添加自己想要的东西,这里 就不一一列举了。
|
五:如何同时压测多个接口
1 2 3 4
| 在我们创建好线程(用户)以后,我们可以添加多个HTTP请求, 添加几个就可以一并压测几个,如果多个请求的话,我们可以 设置http请求的默认值(添加-默认元件-HTTP请求默认值), 这样我们就可以统一管理http请求的默认了。
|

六:如何使用CSV Data Set Config引入变量
6.1 添加CSV Data Set Config
1 2
| 右键线程(用户) - 添加 - 配置元件 - CSV Data Set Config, 编写自己的文件,然后设置变量,编码等,最后设置HTTP请求的变量值。
|



test.csv文件案例
*************感谢您的阅读*************