• jmeter连接数据库


    1、JDBC Connection Configuration配置

    1> 在线程组配置元件中添加JDBC Connection Configuration,是关于数据库连接配置
    2> 配置说明
    第一部分: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
    备注
    区别
    MySQL
    com.mysql.jdbc.Driver
    jdbc:mysql://IP地址:端口号/数据库名字
    注:端口号缺省为:3306
     
    SQL server
    com.microsoft.sqlserver.jdbc.SQLServerDriver
    jdbc:microsoft:sqlserver://IP地址:端口号;DatabaseName=数据库名
    注:端口号缺省为:1433
    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 目录下,然后重新启动就行了
    引入方式二
    在测试计划底部添加 jar 包即可(jar包可以放置任意位置,引用地址正确即可)

    2.2> 特别说明

    引用jar包版本要与数据库版本相对应
    数据库版本查看方式-SQL查询数据库版本
    select version() from dual;
    版本不对应会出现报错:Jmeter Cannot load JDBC driver class 'com.mysql.jdbc.Driver'

    3、JDBC request配置

    在取样器(sampler)中添加JDBC request,配置如下:
    第一部分,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配合使用
    sql 中使用占位符时,Query Type 必须选择 Prepared Select Statement 或者 Prepared Update Statement

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

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

    4、调试取样器查看结果

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

  • 相关阅读:
    KafkaSpout 重复消费问题解决
    FastJson 输出值 首字母大小写问题
    Kafka0.7运行时报错 kafka/javaapi/consumer/ConsumerConnector : Unsupported major.minor version 51.0 解决
    Zookeeper原理与Curator使用
    Strom 消息处理机制 中英对照翻译 (Storm如何保证消息被完全处理)
    Mac安装 Storm 小结
    linux下实现ftp上传文件
    Task 0.0 in stage 1.0 (TID 1) had a not serializable result: org.apache.hadoop.hbase.client.Result
    Spark操作HBase
    maven-pom-project文件报错
  • 原文地址:https://www.cnblogs.com/guobaozhu/p/14304978.html
Copyright © 2020-2023  润新知