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等