JMeter 连接MySQL数据库

1.在测试计划中添加mysql驱动包 mysql-connector-java-8.0.21.jar 

2. 测试计划下点击右键,选择“添加”--“配置元件”--“JDBC Connection Configuration”

3. 配置数据库信息

Variable Name to Pool 

  • Variable Name for created pool 不能为空,变量名称,需要变量名绑定到池,需要唯一标识。与JDBC取样器中的相对应,决定JDBC取样的配置。简单理解就是在JDBC request的时候确定去哪个绑定的配置

Connection Pool Configuration

  • MaxNumber of Connection: 数据库最大链接数
  • Max Wait(ms): 数据库最大等待时间,单位ms
  • Time Between Evicition Runs(ms): 数据库空闲清理的间隔时间,单位ms
  • Auto Commit:自动提交。有三个选项,true、false、编辑(自己通过jmeter提供的函数设置)
  • Transaction Isolation:事务间隔级别设置,主要有如下几个选项:(对JMX加解密)DEFAULT默认、编辑;TRANSACTION_REPEATABLE_READ事务重复读;TRANSACTION_READ_COMMITTED事务已提交读 ;TRANSACTION_SERIALIZABLE事务序列化 ;TRANSACTION_READ_UNCOMMITTED事务未提交读;TRANSACTION_NODE  事务节点 。

Connection Validation by Pool

  • Test While Idle: 是否保持连接
  • Soft Min Evictable Idle Time(ms):最大连接时长,超过时长的会被拒绝
  • Validation Query:验证查询,检验连接是否有效(数据库重启后之前的连接都失效,需要验证查询)

Datebase Connection Confuguration

  • DataBase URL 格式为:jdbc:mysql://服务器ip:端口号/数据库;若一次执行多个sql语句,则需要加上参数?allowMultiQueries=true
  • JDBC Driver Class:com.mysql.jdbc.Driver
  • 输入数据库的Username和Password

4. 添加JDBC取样器,在线程组上点击右键,选择“添加”--“取样器”--“JDBC Request”

5. 配置JDBC取样器

设置Variable Name Bound to Pool,此处配置为mysql(与配置元件中的Variable Name for created pool一致)

设置SQL Query,可以选择sql的类型,是查询还是修改还是删除操作

Query Type:

  • Select statement:查询语句类型;只执行第一条select语句。
  • Update statement:更新语句类型(包含insert、update和delete);只执行第一条语句。
  • Callable statement:可调用语句类型,执行多条语句。详细学习地址
  • Prepared select statement:执行一条带参数的查询语句。(第一次执行消耗是很高的. 它的性能体现在后面的重复执行)
  • Prepared update statement:执行一条带参数的更新语句。(包含insert、update和delete)
  • Commit:将未存储的SQL语句结果写入数据库表;而在jmeter的JDBC请求中,同样可以根据具体使用情况,选择这种Query类型。
  • Rollback:撤销指定SQL语句的过程;在jmeter的JDBC请求中,同样可以根据需要使用这种类型。
  • AutoCommit(false):AutoCommit(假),即将用户操作一直处于某个事务中,直到执行一条commit提交或rollback语句才会结束当前事务重新开始一个新的事务。
  • AutoCommit(true):无论何种情况,都自动提交将结果写入,结束当前事务开始下一个事务。
  • 编辑(${}):jmeter中的JDBC请求中的SQL语句是无法使用参数的,比如: SELECT * FROM ${table_name} 是无效的。如果需实现同时多个不同用户使用不同的SQL,可以通过把整条SQL语句参数化来实现;(把SQL语句放在csv文件中,然后在JDBC Request的Query 中使用参数代替 ${SQL_Statement})。

Query:用于编写数据库语言

Parameter values:sql语句中的变量名,如:${param}

Parameter types:变量名在数据库中对应的类型,如:VARCHAR

Variable names:以逗号分隔的变量名称列表,用于保存Select语句,Prepared Select语句或CallableStatement返回的值。如果变量名少于输出参数,则在线程上下文中应存储与提供的变量名一样多的结果。如果变量名称多于输出参数,则多余变量名将被忽略

Result variable name:以一个map形式进行的存储返回值。在BaenShellProcesser进行提取调用,用法:columnValue = var.getObject(“resultObject”).get(0).get(“列名”);

Query timeout(s):设置查询超时时间(秒),空值表示0(不限制)。默认为0

Handle ReaultSet:定义如何处理执行SQL语句返回的ResultSet;默认为 Store as String

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值