前言
简答的接口 固定的参数可以用之前的AB进行压测,但是复杂点的或者文件上传就要用一些相对功能更强的测试软件,这里推荐用免费的JMeter
Apache JMeter
Apache JMeter - Download Apache JMeter
下载地址:https://archive.apache.org/dist/jmeter/binaries/
解压后, 运行 bin/jmeter.bat
Jmeter 是支持中文的, 启动Jmeter 后,
点击 Options -> Choose Language 来选择语言
推荐下载3.3版本
下载地址:https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-3.3.zip
4.x的主题改成黑色了UI不好看
5.x的日志打印看不清
首先先弄清楚它的层次结构
- 项目=>线程组=>请求
- 监听器
也就是说项目下建立线程组,线程组下添加请求,而监听器可以添加上面三个中的任何一个下面
线程组配置
其中
- 线程数 同时访问的用户数(最大并发数)
- Ramp-up Period(in seconds) 创建线程的总用时
- 循环次数
注意
假如线程数为1000 Ramp-up Period为10 实际的并发数是一直递增的,所以要想真正达到想要的并发,一定要提升循环次数。
请求
如果请求是文件上传注意MIME配置
MIME类型对大小写不敏感,但是传统写法都是小写。
1 | text/plain |
其他参数
响应结果获取
获取响应中的值
后面请求中就可以用${msg}
获取
随机变量
添加随机变量
变量配置
注意
Variable Name
- 用于控制在其它元素中引用该值,形式:${variable_name}
Output Format
-可选格式,比如000,格式化为001,002,Minimum Value,Maximum Value都设置为1,Number format设置为000,那么格式化后,第一个参数值为001,第二个为002,……,以此类推假设format设置为user_000,那么格式化后,第一个参数值为user_001,第二个参数值为user_002,…,以此类推。默认格式为Long.toString()
Minimum Value
生成的最小随机数Maximum Value
生成的最大随机数Seed for Random function
- 供随机数生成器使用的seed.如果为空,则使用默认的Random构造器。(建议不设置)Per Thread(User)?
- 如果设置为False,那么所有线程共享同一个随机数生成器,如果设置为True,那么每个线程独享各自的随机数生成器
监听器
上面有很多 其中常用的有
结果树(推荐)
能查看具体请求和响应
用表格查看结果
聚合报告(推荐)
图形结果