jmeter使用教程
基础配置
1.设置jmeter页面为中文
2.设置响应数据默认编码utf-8
3.扩展jar包存放位置
常用工具
前置工具
常用函数
计数 ${__counter(,)}
随机数${__Random(1,10,)}
随机字符串${__RandomString(1,abcde)}
当前时间${__time(yyyy-MM-dd hh:mm:ss)}
提取器
json提取器
正则提取器
beanshell取样器(支持java脚本)
断言
响应时间
响应断言
json断言
参数化
CSV函数参数化
csv数据文件设置
jmeter命令行生成报告
使用命令行
jmeter -n -t <脚本名.jmx> -l <日志文件名>.jtl -e -o <存放html测试报告的目录名>
报告重要的图表解析
-
响应随时间变化图
关注:1)压测期间,平均响应时间有没有超标 2) 关注响应时间突然升高的点(spike)
通常这个spike点由于cpu利用率突然升高,如果项目是java项目,那么GC可以导致cpu突然变高。
-
接受和发送的字节吞吐率图
在数据密集型应用(data dense)会关注这个图。
- 每秒点击率
从客户端的角度,希望服务器能够处理的每秒请求数(disired load)
- 每秒响应状态吗的数量
可以看到压测期间。接口的大概响应情况(200)
- TPS随时间变化图.
- 响应时间 vs 百分比图
- 活跃用户随时间变化图。
JDBC协议连接数据库
驱动安装
1.直接jar包放到 jmeter/lib/ext 中
2.在测试计划中创建一个线程组
配置
Database url:jdbc:mysql://ip:port/dbname?allowMultiQueries=true
Driver class:com.mysql.jdbc.Driver
编写SQL语句
- Select Statement
- 仅支持测试select语句
- Update Statement
- 支持测试非select语句,并且支持测试多条
- Callable Statement
- 只要语法正确,任何语句,再多的条数都能支持
参数化
-
直接在sql语句中进行参数化
-
占位符方式
关联
通过variable name把查询结果保留