Jmeter使用说明
- Jmeter下载安装
- 修改编码UTF-8
- 参数说明
- Get接口测试
- 创建线程组
- 添加HTTP请求
- 添加结果树
- 添加聚合报告
- 启动
- POST请求
- 添加HTTP信息头管理器
- 设置参数
- 图片上传
- mysql压测
- 准备数据
- 添加数据库连接jar
- 配置jdbc
- 添加jdbc request
Jmeter下载安装
Jmeter官网下载
要求java 1.8以上版本
下载完成之后解压,配置环境变量
配置classpath
%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;
修改编码UTF-8
找到bin目录下的jmeter.properties文件
找到这个配置项
sampleresult.default.encoding=utf-8
双击jmeter.bat启动服务
设置中文显示
参数说明
线程数:同一时间内,启动多少个线程,也就是并发数,例如1000
Ramp-Up时间:单位秒,就是多长时间内,启动这些线程,例如1秒内启动1000个线程
循环次数:就是1秒内启动1000个线程,这个过程循环执行的次数,可以一直执行,也可以按此执行
聚合报告参数说明
- labael:代表标题
- Samples:代表一共产生了多少请求
- Average:代表事物的平均响应时间,单位为毫秒
- Median:代表事物响应时间的中位数,单位为毫秒
- 90% line:代表90%的事物响应时间小于这个值
- 95% line:代表95%的事物响应时间小于这个值
- 99% line:代表99%的事物响应时间小于这个值
- Min:代表最小的响应时间
- Maxinum:代表最大的响应时间
- Error:代表出现异常的请求百分比
- Throughput:吞吐量tps,代表单位时间内系统的处理能力,当事物单个接口时等于qps。
- Received:代表接收数据的速度 ,单位KB/sec一定是大写的B,因为KB = 8kb
- Sent:代表发送数据的速度,单位kB/sec
Get接口测试
创建线程组
设置线程组名称,设置200线程,5秒内启动,并循环10次执行
添加HTTP请求
设置参数,IP和端口,GET请求,接口地址,编码,参数等等
添加结果树
结果树可以看每个http请求的状态,结果,响应数据
添加聚合报告
启动
鼠标右键选中,点击启动就可以查看聚合报告结果了
POST请求
添加HTTP信息头管理器
设置类型编码,token参数
Content-Type=application/json;charset=UTF-8
设置参数
这里必须是json格式的参数,其他配置和Get请求一样,然后就启动执行查看聚合报告就行
图片上传
选择文件上传,选择要上传的文件目录
其他配置和Get请求一样,然后就启动执行查看聚合报告就行
mysql压测
准备数据
CREATE TABLE `t_user` (
`id` bigint(32) NOT NULL COMMENT '主键',
`username` varchar(32) DEFAULT NULL COMMENT '姓名',
`age` tinyint(3) DEFAULT NULL COMMENT '年龄',
`address` varchar(100) DEFAULT NULL COMMENT '地址',
`height` decimal(5,2) DEFAULT NULL COMMENT '身高(cm)',
`weight` decimal(5,2) DEFAULT NULL COMMENT '体重(kg)',
`birth_time` datetime DEFAULT NULL COMMENT '生日',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
利用navicat的数据生成工具,生成100W条数据
添加数据库连接jar
配置jdbc
- variable name for created pool(已创建池的变量名称)
- Max Number of connections : 最大连接数
- MAX wait :最大等待时间
- Auto Commit: 是否自动提交事务
- DataBase URL : 数据库连接地址 jdbc:mysql://127.0.0.1:3306/blog
- JDBC Driver Class : 数据库驱动,选择不同数据库对应的驱动
- username:数据库用户名
- password:数据库密码
添加jdbc request
- variable name of pool declared in JDBC connection configuration(注意:这里要和上面的variable name for created pool里面一致)
- Query Type :查询类型
- parameter values: 参数值
- parameter types :参数类型
- variable names :sql执行结果变量名
- result variable names: 所有结果当做一个对象存储
- query timeouts: 查询超时时间
- handle results :处理结果集
启动100个线程*循环10次(这是username没有加索引的情况)
添加索引
ALTER TABLE t_user ADD INDEX index_username ( username );
再次启动100个线程*循环10次