zoukankan      html  css  js  c++  java
  • Jmeter组件7. JDBC Connection Configuration & JDBC Request

    Jmeter同样可以测试数据库的性能,通过执行增删改查的语句,以下举的是oracle的例子

    Step 1: 下载ojdbc14.jar包放到Jmeter lib包中,在test plan中配置,并且重启Jmeter

    Step 2:配置JDBC Connection Configuration

    Variable Name,数据库连接池的变量名,之后JDBC request可以通过选择不同的连接池名来选择不同的数据库连接

    Max Number of Connections,该数据库连接池的最大连接数,一般设置为0,意思是每个线程都使用单独的数据库连接,线程之间数据库连接不共享

    下面这块,是Jmeter用来检验数据库连接是否有效的一种机制,超过5秒没有使用的话,就会用validation query去测试下这个连接是否有效

    Database URL,jdbc:oracle:thin:@//hostname:port/sid 前面的jdbc:oracle:thin:@部分是固定的

    JDBC Driver class,oracle固定为oracle.jdbc.OracleDriver,其他数据库可以查看帮助

    Step 3:建立一个JDBC Request组件 

    目前JDBC Request可以发送的请求类型有

    • Select Statement
    • Update Statement - use this for Inserts and Deletes as well
    • Callable Statement
    • Prepared Select Statement
    • Prepared Update Statement - use this for Inserts and Deletes as well
    • Commit
    • Rollback
    • Autocommit(false)
    • Autocommit(true)
    • Edit - this should be a variable reference that evaluates to one of the above

    我这里举了一个存储过程的例子

    首先Variable Name要写之前创建好的数据库连接池的名字

    SQL Query部分,选择Query Type为callable statement,语句中用问号作为占位符,代替传入的参数

    然后在Parameter value里面设置传入的值,这里也可以用变量,即可以读csv文件里的值,比较灵活,但是千万要记得在下面一行Parameter Types里面配置好相应的类型,否则会报错

    Variable Name,可以用来存储查询的值,例如你查询select * from tableA,返回三行三列,你在Variable Name里面写A,,C,那么会返回如下值,第二列由于没有变量名,所以不会被存储,不过需要一个空占位符

    A_#=2 (number of rows)
    A_1=column 1, row 1
    A_2=column 1, row 2
    C_#=2 (number of rows)
    C_1=column 3, row 1
    C_2=column 3, row 2

    Result Variable name,用法 columnValue = vars.getObject("resultObject").get(0).get("Column Name"); 将结果集存储在一个对象中,然后按照行号加列名去取值

  • 相关阅读:
    Vasya and Endless Credits CodeForces
    Dreamoon and Strings CodeForces
    Online Meeting CodeForces
    数塔取数 基础dp
    1001 数组中和等于K的数对 1090 3个数和为0
    1091 线段的重叠
    51nod 最小周长
    走格子 51nod
    1289 大鱼吃小鱼
    POJ 1979 Red and Black
  • 原文地址:https://www.cnblogs.com/ryansunyu/p/5799969.html
Copyright © 2011-2022 走看看