Jmeter组件7. JDBC Connection Configuration & JDBC Request
2016-08-23 16:36
381 查看
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"); 将结果集存储在一个对象中,然后按照行号加列名去取值
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"); 将结果集存储在一个对象中,然后按照行号加列名去取值
相关文章推荐
- Libevent源码分析-----TAILQ_QUEUE队列
- UE4 三角面操作:CustomMesh组件实例,实现自由拉伸的立方体
- 关于priority_queue
- Java IO SequenceInputStream
- request cheerio 抓取页面并获取所需数据
- 关于android studio打开项目时出现卡在build XXX gradle project info 或是 refresh XXX gradle project
- 347. Top K Frequent Elements
- Android开发笔记之关闭AlterDialog.Builder对话框
- mui 综合
- JAVA线程池ThreadPoolExecutor与阻塞队列BlockingQueue
- Distinct Subsequences Leetcode
- Distinct Subsequences Leetcode
- 基于webpack和vue.js搭建的H5端框架(其实主要用于Hybrid开发H5端框架,但是依然能够作为纯web端使用)
- 海报设计灵感:简约独特的图形图案排版 by Quim Marin
- NGUI 富文本
- 监听request session servletContext的创建与销毁
- 63. Unique Paths II
- ArrayDeque解析
- 有没有想过用简单办法拿到某个view的父ViewController
- vue.js的使用