- 1,准备资料
- 1. 一个可用的数据库
- 2.连接数据库需要的驱动
- 2,jmeter连接数据库
- 3,发送插入语句请求
- 4,发送查询语句请求
- 5,发送删除语句请求
- 6,对数据库进行压测
- 本文永久更新地址:
1,准备资料
1. 一个可用的数据库
搭建一个mysql8.0的数据库环境,并设置数据库可以远程访问
docker pull mysql/mysql-server
#启动mysql
docker run --name mysql8 -d -it -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root mysql/mysql-server
docker exec -it mysql8 /bin/sh
#进入mysql容器后,用创建的root密码连接数据库
mysql -uroot -proot
#设置远程访问,mysql8以上的版本是用以下设置权限
create user 'root'@'%' identified by '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
#设置远程访问,mysql8以下的版本是用以下设置权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
2.连接数据库需要的驱动
jmeter需要连接数据库需要下载对应版本的驱动,这里用的是mysql8,所以用mysql-connector-java-8.0.15.jar
下载地址:https://download.csdn.net/download/llh304/75984139
下载的jar包放到jmeter的lib目录下
2,jmeter连接数据库
jmeter连接数据库,需要在配置元件添加
配置对应的数据库连接地址账号密码等
variable name for created pool:数据库连接池名称,后面发送jdbc请求时需要这个名字
database url:数据库连接地址,根据项目填写,一般在配置文件中都能找到
jdbc:mysql://localhost:3307/jmeter_calss?useUnicode=true&characterEncoding=utf-8
3,发送插入语句请求
在取样器中添加jdbc请求
Mysql_pool:数据库连接池,是在配置元件中数据库连接池名称
query type:选择prepared update statement,动态添加数据,需要给定参数,
名称 | 说明 | 备注 |
---|---|---|
parameter values | 需要传入的值 | 插入的值有几个?号就需要传入几个值 |
parameter type | 数据库插入的数据类型 | 数据库对应的类型 |
4,发送查询语句请求
查询语句,可以对查询出来的结果存入到变量中,后面的请求需要该参数可以直接通过变量取值
名称 | 说明 | 备注 |
---|---|---|
mysql_pool | 数据库连接池,是在配置元件中数据库连接池名称 | |
query type | 查询数据库类型,查询选择Select statement | |
variable names | 查询出来的结果赋值给一个变量 | 可用debug调试器查看对应的变量 |
result variable name | 返回结果的变量,把查询出来的结果放到[]中括号中 | 可用debug调试器查看对应的变量 |
5,发送删除语句请求
名称 | 说明 | 备注 |
---|---|---|
mysql_pool | 数据库连接池,是在配置元件中数据库连接池名称 | |
query type | 删除数据库类型选择update statement |
INSERT INTO `user` (`username`,`password`) VALUES ('user1',123456);
SELECT username FROM `user` where username='user1';
delete FROM jmeter_class.`user` WHERE username='user1';
6,对数据库进行压测
一般来说,写入的语句要比查询的语句性能差一些,所以一般开发会对读写进行数据分离的设计,读库表和写库表进行分离,定时同步对应的数据
这是一条数据执行的结果
这是十条数据执行10s中执行的结果
本文永久更新地址:
https://www.fenxiangbe.com/p/jmeter数据库连接6.html