jmeter mysql 事务,jmeter连接数据库

1、JDBC Connection Configuration配置

1> 在线程组配置元件中添加JDBC Connection Configuration,是关于数据库连接配置

6c340014c0fc547120de659a431f4a7f.png

content-2-828600.html

2> 配置说明

eb4ee97c92937051c409f3de96062a8e.png

content-2-828600.html

第一部分:Variable Name Bound to pool

Variable Name for created pool,填写一个自定义变量名,方便后续在JDBC request中引用数据库配置

第二部分:Connection pool Configuration

连接池参数配置,保持默认即可,可根据需求进行修改

字段

含义

Max Number of Connections

最大连接数;做性能测试时,建议填 0

如果填了10,则最大连接10个线程

Max Wait(ms)

在连接池中取回连接最大等待时间,单位毫秒

Time Between Eviction Runs(ms)

线程可空闲时间,单位毫秒

如果当前连接池中某个连接在空闲了 time Between Eviction Runs Millis 时间后任然没有使用,则被物理性的关闭掉

Auto Commit

自动提交sql语句,如:修改数据库时,自动 commit

Transaction isolation

事务隔离级别

Preinit Pool

立即初始化连接池

如果为 False,则第一个 JDBC 请求的响应时间会较长,因为包含了连接池建立的时间

第三部分:Connection Validation by Pool

验证连接池是否可响应

字段

含义

Test While Idle

当连接空闲时是否断开

Soft Min Evictable Idle Time(ms)

连接在池中处于空闲状态的最短时间

Validation Query

一个简单的查询,用于确定数据库是否仍在响应

默认为jdbc驱动程序的 isValid() 方法,适用于许多数据库

第四部分:Database Connection Configuration (数据库连接配置)

Database URL(数据库连接 URL)

jdbc:mysql://IP:3306/dbname?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&allowMultiQueries=true

(允许执行多条SQL)

JDBC Driver class (数据库驱动)

Username (数据库登录用户名)

Password (数据库登录密码)

Connection Properties (建立连接时要设置的连接属性)

常见数据库的连接 URL和驱动

数据库

驱动包

驱动类名

JDBC的URL

备注

区别

Oracle

oracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:@IP地址:端口号:数据库名

注:端口号缺省为:1521

ojdbc6和ojdbc14的区别:ojdbc14.jar(适合java-1.4和1.5),ojdbc6(适合java-1.6)

2、JDBC Driver驱动包

2.1> 引用jar包(驱动包)

使用不同的数据库,需要引入不同的 jar 包,一共有两种方式,不过前提是下载好了 jar 包(驱动包)。以MySQL为例

引入方式一

将下好的 jar 包直接放到 jmeter 的 lib 目录下,然后重新启动就行了

b83fc86c2f68f253d47391a261464c57.png

content-2-828600.html

引入方式二

在测试计划底部添加 jar 包即可(jar包可以放置任意位置,引用地址正确即可)

447619877f5feb190d5084b8de0a8430.png

content-2-828600.html

2.2> 特别说明

引用jar包版本要与数据库版本相对应

数据库版本查看方式-SQL查询数据库版本

select version() from dual;

版本不对应会出现报错:Jmeter Cannot load JDBC driver class 'com.mysql.jdbc.Driver'

3、JDBC request配置

在取样器(sampler)中添加JDBC request,配置如下:

b4f3bd4bec4a57a8eba9b3accbd00dcc.png

第一部分,Variable Name Bound to pool declared in JDBC Connection Configuration (填写之前的自定义变量名)

第二部分,Query Type

字段

定义

Select Statement

Select语句

Update Statement

Update语句

Callable statement

Prepared Select Statement

参数化 Select语句

Prepared Update Statement

参数化 Update语句

Commit

Rollback

AutoCommit(false)

AutoCommit(true)

Edit

第三部分,Query参数化

字段

定义

SQL Query

sql 语句

语句结尾不需要添加 ;

变量用 ? 占位

Parameter values

需要传递的变量值,多个变量用 , 分隔

Parameter types

变量类型

Variable Names

保存sql语句返回数据的总行数和返回的数据

用 , 分隔

跳过列用空。

当接收参数少于返回列时,从开始第一列依次往后接收

Result Variable Name

一个 Object 变量存储所有返回值

Query timeout(s)

超时时间;默认0,代表无限时间

Limit ResultSet

和 limit 类似作用,限制 sql 语句返回结果集的行数

Handle ResultSet

如何定义 callable statements 返回的结果集;默认是存储为字符串

SELECT * FROM `user` WHERE shop_id = ? AND user_type = ? AND user_name LIKE ?

? 代表占位符,Parameter values值替代?部分,需要与Parameter types配合使用

703048e1ce9f5f53ed4cc237b19bbaaa.png

sql 中使用占位符时,Query Type 必须选择 Prepared Select Statement 或者 Prepared Update Statement

ec98b0bde0737813a6f9d6a5cbaade45.png

如果在 sql 语句中使用变量,且是字符串类型,需要加上引号(前提是变量值没有加引号),如 '${name}'

如果在 Parameter values 中使用变量,且是字符串类型,不需要加上引号,只需要在 Parameter types 里写明为 varchar 即可

4、调试取样器查看结果

调试取样器可以在查看结果树中看到在脚本中参数化变量所取得值

808b7f9b7c41ca7841b265c7251a1e3d.png

——纸上得来终觉浅,绝知此事要躬行——

参考链接1:https://blog.csdn.net/qq_15347449/article/details/106876027

参考链接2:https://www.cnblogs.com/chenjiuli/p/10116375.html

参考链接3:https://www.cnblogs.com/insane-Mr-Li/p/10725428.html

参考链接4:https://www.cnblogs.com/zichuan/p/9186274.html

参考链接5:https://cloud.tencent.com/developer/article/1651225

参考链接6:https://www.cnblogs.com/qianjinyan/p/10244345.html

参考链接7:https://cloud.tencent.com/developer/article/1651228

标签:JDBC,数据库,jar,jdbc,https,jmeter,com,连接

来源: https://www.cnblogs.com/guobaozhu/p/14304978.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值