Jmeter(十四)取样器之JDBC Request

在接口测试中,需要与数据库进行交互,这时候需要用到JDBC Request取样器。

JDBC Request可以向数据库发送一个请求(sql语句),一般它需要配合JDBC Connection Configuration配置元件一起使用。

下面就来演示下怎么连接oracle11g:

1、我们先把需要连接的数据库驱动拷贝到jmeter的lib/目录下,比如我需要连接的数据库是oracle11G,那么对应的驱动就是ojdbc6.jar,不同类型数据库对应的驱动都不一样。

2、打开Jmeter,在测试计划中把驱动添加进来

3、添加一个线程组

4、在线程组中添加配置元件->JDBC Connection Configuration:

  • Variable Name for created pool:数据库连接池的变量名,与JDBC Request的Variable name of Pool保持一致。
  • Max Number of Connections:该数据库连接池的最大连接数,一般可设置为0,意思是每个线程都使用单独的数据库连接,线程之间数据库连接不共享
  • Max Wait (ms) :在连接池中取回连接最大等待时间,如果在试图检索连接过程中(取回连接)超过所设置期限,连接池抛出一个错误
  • Time Between Eviction Runs (ms):疏散时间,在空闲对象驱逐线程运行期间,可以休眠的毫秒数。当非正值时,将运行无空闲对象驱逐器线程。(默认为“60000”,1分钟)(如果当前连接池中某个连接在空闲了time Between Eviction Runs Millis时间后任然没有使用,则被物理性的关闭掉。)
  • Auto Commit :自动提交sql语句,有三个选项:true、false、编辑(自己通过jmeter提供的函数设置)
  • Transaction Isolation:  事务间隔级别设置,主要有如下几个选项:(对JMX加解密)
  1. TRANSACTION_NODE   事务节点 、
  2. TRANSACTION_READ_UNCOMMITTED  事务未提交读、
  3. TRANSACTION_READ_COMMITTED   事务已提交读 、
  4. TRANSACTION_SERIALIZABLE   事务序列化 、
  5. DEFAULT  默认、
  6. TRANSACTION_REPEATABLE_READ 事务重复读、
  7. 编辑
  • Test While Idle :当空闲的时候测试连接是否断开
  • Soft Min Evictable Idle Time(ms)  :最少的时间连接可能在池中闲置,然后才有资格被闲置的对象驱逐出去,额外的条件是至少在池中保持连接。默认值为5000(5秒)
  • validation query:测试连接是否有效的查询语句,这是Jmeter用来检验数据库连接是否有效的一种机制,超过5秒没有使用的话,就会用validation query去测试下这个连接是否有效
  • Database URL:数据库连接地址
  • JDBC Driver class:数据库驱动,不同数据库的驱动类和URL格式

Datebase


Driver class


Database URL


MySQL


com.mysql.jdbc.Driver


jdbc:mysql://host:port/{dbname}


PostgreSQL


org.postgresql.Driver


jdbc:postgresql:{dbname}


Oracle


oracle.jdbc.driver.OracleDriver


jdbc:oracle:thin:user/pass@//host:port/service


Ingres (2006)


ingres.jdbc.IngresDriver


jdbc:ingres://host:port/db[;attr=value]


MSSQL


com.microsoft.sqlserver.jdbc.SQLServerDriver

或者

net.sourceforge.jtds.jdbc.Driver


jdbc:sqlserver://IP:1433;databaseName=DBname

或者

jdbc:jtds:sqlserver://localhost:1433/"+"library"

 

  • Username:数据库登录名
  • Password:数据库登陆密码

5、设置好JDBC连接配置后,添加JDBC请求,界面如下:

Variable name of Pool:这里写入数据库连接池的名字(和JDBC Connection Configuration名字保持一致 )

Query:里面填入查询数据库数据的SQL语句(填写的SQL语句末尾不要加“;”)

parameter valus:数据的参数值

parameter types:数据的参数类型

variable names:保存SQL语句返回结果的变量名,如果查询结果又多列,可以设置多个变量,以逗号分隔。

result variable name:创建一个对象变量,保存所有返回结果

query timeout:查询超时时间

handle result set:定义如何处理由callable statements语句返回的结果

6、添加监听器和Debug Sampler,执行。

原文地址:https://www.cnblogs.com/eastonliu/p/10476923.html

时间: 2024-11-05 20:38:16

Jmeter(十四)取样器之JDBC Request的相关文章

jmeter(五)之JDBC Request

长假刚结束,假期综合征明显,项目进展遇到问题,没头绪ing... 正好目前项目瓶颈在后台处理速率上,就说说最近工作中,我对取样器——JDBC Request的理解... 之前介绍过,jmeter中取样器(Sampler)是与服务器进行交互的单元.一个取样器通常进行三部分的工作:向服务器发送请求,记录服务器的响应数据和记录相应时间信息 有时候工作中我们需要对数据库发起请求或者对数据库施加压力,那么这时候就需要用到JDBC Request JDBC Request可以向数据库发送一个请求(sql语句

JMeter 十四:最佳实践

参考:http://jmeter.apache.org/usermanual/best-practices.html 1. 总是使用最新版本的JMeter 2. 使用合适数目的Thread Thread数目取决于:硬件环境.Test Plan的设计.以及服务器的运行速度. 不合适数目的Thread,可能会造成测试结果不正确或者不精确. 如果我们需要大规模的负载测试,可以考虑在分布式模式下多个机器命令行运行JMeter. 3. 正确使用 HTTP(S) Test Script Recorder 1

Jmeter之JDBC Request (Mysql)

目录 一.软件环境 二.准备工作 三.配置JDBC Connection Configuration 四.配置JDBC Request 一.软件环境 操作系统: win10 企业版 软件配置: JDK:1.8.0_241: jmeter:jmeter 5.1.1; mysql: mariadb-10.0.28-winx64; mysq 驱动版本: mysql-connector-java-5.1.35.jar 二.准备工作 1.安装mysql数据库 2.在数据库钟执行以下sql脚本,完成库,表.

jmeter(十一)JDBC Request之Query Type

工作中遇到这样一个问题: 需要准备10W条测试数据,利用jmeter中的JDBC Request向数据库中批量插入这些数据(只要主键不重复就可以,利用函数助手中的Random将主键的ID末尾五位数随机插入), 响应数据报错:Can not issue data manipulation statements with executeQuery().后来查阅了很多资料,才发现跟JDBC Request中的Query Type类型选择有关: 最后得出的结论是:如果SQL语句是update.inser

jmeter jdbc request 如何运行多个sql

database url:jdbc:mysql://127.0.0.1:3306/api?useUnicode=true&allowMultiQueries=true&characterEncoding=utf8 注意:太低版本的mysql和jdbc不支持,最好用最新版的 JDBC Request 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作.它经常需要和JDBC Connection Configuration配置原件(配置数据库连接的

jmeter jdbc request使用详解

1.在使用 jdbc request之前需要加载一个jar包 在test plan中将jar包引入到classpath中 2.创建一个JDBC Connection Configuration Variable Name: 变量名称,需要变量名绑定到池.需要唯一标识.与JDBC取样器中的相对应,决定JDBC取样的配置.简单理解就是在JDBC request的时候确定去哪个绑定的配置. MaxNumber of Connection: 数据库最大链接数 PoolTimeout: 数据库链接超时,单

jmeter JDBC Request (查询数据库获取数据库数据) 的使用

JDBC Request 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作.它经常需要和JDBC Connection Configuration配置原件(配置数据库连接的相关属性,如连接名.密码等)一起使用. 一.准备工作 1.本文使用的是mysql数据库进行测试,数据库的用户名为root(你自己的用户名),用户名密码为*********(你自己的密码) 2.数据库中有表:test,表的数据结构如下: 表中数据如下: select * from

转jmeter 性能测试 JDBC Request (查询数据库获取数据库数据) 的使用

JDBC Request 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作.它经常需要和JDBC Connection Configuration配置原件(配置数据库连接的相关属性,如连接名.密码等)一起使用. 一.准备工作 1.本文使用的是mysql数据库进行测试,数据库的用户名为root(你自己的用户名),用户名密码为*********(你自己的密码) 2.数据库中有表:test,表的数据结构如下: 表中数据如下: select * from

爪哇国新游记之十四----初试JDBC

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class A{ public static void search1(){ Connection conn=null; PreparedStatement ps=null; Resu