Jmeter做压力测试
一、测前准备
使用Jmeter做压测非常方便,在压测之前我们需要考虑这几个方面:
场景设定
场景分单场景和混合场景。针对一个接口做压力测试就是单场景,针对一个流程做压力测试的时候就是混合场景,需要多个接口共同作用。
压测时间设定
通常时间设为10 – 15 分钟,如果涉及疲劳测试的话时间可根据实际情况设定,一天、一周、一个月不等。
测试数据准备
如果需要测试的数据量很大的话,需要造数据,造数据可以JMeter自带的一些功能来完成,也可以用文本参数化的形式来完成。
二、测试脚本编写及完善
接口
1、添加线程组
在测试计划下添加线程组
2、添加请求类型
在线程组下添加请求类型:HTTP、WebService、FTP、JAVA等等。
这里以HTTP请求为例:
填入HTTP请求的各项数据,包括IP、方法、接口路径、端口号、入参等。然后再增强脚本,加上参数化、关联、断言等等。
3、测试场景配置
配置需要多少个并发、循环多少次或者持续多长时间。全部配置好后可以点菜单栏的绿色箭头启动运行
UI
1、录制脚本
Jmeter有两种方式录制脚本,一种是使用Jmeter代理录制,另外一种是使用工具Badboy(官网:http://www.badboy.com.au/download/add)进行录制。
2、保存脚本
将录制好的脚本保存为jmx格式
3、使用Jmeter打开脚本
用Jmeter打开脚本后会发现请求比较乱且不好识别,我们可以把没用的请求删除,把请求名称改为中文。然后再对脚本进行增强:参数化、关联、断言等等。
需要注意的是,使用Badboy录制的脚本当中是有一个循环控制器的,其中也有一个循环次数的配置,它的优先级高于线程组当中的循环次数,如果不需要我们可以把请求拉出来直接放到线程组下面
4、场景配置
UI的场景配置与接口的一样
三、运行及结果查看
开始运行之前我们需要在请求下面添加查看结果树、聚合报告等用于查看和统计运行结果,如下图:
查看结果树:展示每次请求和响应的数据
聚合报告:展示整个运行过程的情况,包括发送了多少请求、平均响应时间、最大响应时间、最小响应时间、TPS等内容