压测场景:一万名用户同时请求两个活动接口,两个接口存在串联关系,第二个接口用到了第一个接口的返回结果
1、下载jdk
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
2、下载jmeter
http://jmeter.apache.org/download_jmeter.cgi
3、配置java环境变量
/usr/libexec/java_home -V
4、启动jmeter
把jmeter.sh文件拉到终端直接启动
启动后的jmeter页面
5、新建线程组
6、线程组设置
7、添加HTTP请求
这里我们请求两个接口,所以需要添加两个
8、请求设置
因为我们这里第二个接口用到了第一个接口的返回结果,所以需要在这个请求下添加一个JSON提取器
JSON提取器语法,这里简单举例:
- 提取Name的值可以写$.Name
$: 代表整个json,根节点
. : 点代表下个节点
$.Name 意思就是,找到根节点下的Name的值 - 提取list列表中的第一个对象的type的值
$.list[0].type 取列表里面的值,要在后面加上[],里面填写索引值,第一个对象 对应索引0, 第二个对应索引1,以此类推
jmeter自带的功能可以拿来测试你的JSON提取器语法对不对
9、第二个接口传参变量设置
变量语法 ${变量名}
10、csv数据文件设置
因为本次压测场景需要用到一万名用户,所以我们要把这些用户的数据写到文件里,jmeter会自动读取文件里的数据
线程共享模式:
- 所有线程组------每个线程组依次读取每行数据
- 当前线程组------当前线程组每个线程依次读取每行数据
- 当前线程------当前线程每次调用依次读取每行数据
11、请求头设置
需要的header字段依次写入里边,需要读取文件数据的字段写成变量,格式同上
12、添加监听器拿到压测结果
13、结果分析
报告结果时间单位为ms
指标计算公式,参考文档
https://www.zhangshilong.cn/work/129976.html