Jmeter数据库压力测试
先配置jdbc(数据库连接)驱动
1. 启动jmeter,打开界面工具,添加一个线程组,添加驱动
2. 添加一个JDBC Connection Configuration,连接池配置文件。右键线程组【添加】--【配置元件】- -【JDBC Connection Configuration】
Variable Name: 连接池名称。 JDBC Request 会通过此名称来获取连接池的配置,名称可以随意填写,但
是最好具体实际的业务意义,方便理解和记忆。
其他的可以默认,可以根据实际情况来调节优化性能。
Database URL :数据链接 url ,格式: jdbc:mysql://localhost:3306/host
注释:数据库的 ip 地址 + 端口 / 数据库名(查询数据库端口号 show global variables like 'port' )
jdbc:mysql://127.0.0.1:3306/mydb2?serverTimezone=UTC& allowMultiQueries=true
JDBC Driver Class :驱动器名称。固定: com.mysql.jdbc.Driver
Username: 用户名
Passowrd: 密码
添加一个 JDBC Request 。
运行时出现 Cannot create PoolableConnectionFactory (The server time zone value '???��������??��??' is unrecogni
只需要在连接mysql的url后添加: ?serverTimezone=UTC即可
3. 右键线程组【添加】 - 【 Sampler 】 - 【 JDBC Request 】
Select Statement:查询语句
只能执行查询语句 select ,执行第一条 sql 语句,而且第一条必须是 select 语句,否则报错
Updata Statement :更新语句
支持测试非 select 语句,并且支持测试多条,若其中夹杂 select 语句,自动忽略,若第一条语句为 select
语句,报错
Callable Statement :所有语句
只要语法正确,任何语句,再多的条数都能支持
Prepared Select Statement :预编译查询语句。(长时间执行效率更高,支持占位符)
Prepared Update Statement :预编译更新语句。(同上)
Commit (立即提交) Rollback (回滚)
Parameter values :参数值。参数化 sql 语句中的值
Paramter types :参数类型。数据库的参数你可以去查看一下。这里是 varchar 类型。
Variable names :变量名字,也就是将筛选出来的值放在变量里面。例如这三列数据分为放在变量: A,B,C
中(实际操作中命名一定要有实际意义)。
Result variable name :存储变量名。将整个结果存储在变量中。取名: rs
Query timeouts :超时时间。
windows 本机进行监听
先在服务器上开启 server 的监听
jp@gc - Bytes Throughput Over Time: 不同时间吞吐量(字节 Bytes )展示(图表)
聚合报告里, Throughput 是按请求个数来展示的,比如说 1.9/sec ,就是每 s 发送 1.9 个请求;而这里的
展示是按字节 Bytes 来展示的图表,表示每秒发送多少字节
jp@gc - Hits per Second :每秒点击量,点击量在性能测试 - 常见的性能指标(一)的博文中已经详细介
绍,指的是每秒 web 服务器接收到的请求数
jp@gc - PerfMon Metrics Collector :服务器性能监测控件,包括 CPU , Memory , Network ,I / O等
等(此功能用到在需监听的服务器上启动 startAgent )
根据需要选择 CPU , Memory , Network I / O等