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"); 将结果集存储在一个对象中,然后按照行号加列名去取值

最新文章

  1. r-cnn学习(八):minibatch
  2. php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
  3. Navicat for mysql 破解
  4. Linux及安全——Linux基础实践
  5. WebService学习过程中的心得和问题
  6. MyBatis+springMVC+easyUI (dataGirl)实现分页
  7. Pycharm连接gitlab
  8. object-c 入门基础篇
  9. JS中的原型继承和多重继承
  10. kruskal算法-Pascal
  11. MTU of IPV4 and IPV6
  12. 山东省赛J题:Contest Print Server
  13. 3TB硬盘的容量已经超出了传统分区标准的支持
  14. 1062 Text Reverse
  15. 什么是Web Server
  16. Editplus5.0 注册码
  17. AngularJs - Javascript MVC 框架
  18. 【转载并整理】mysql 1293错误 建表两个timestamp
  19. [Python] String strip() Method
  20. vue父组件异步传递prop到子组件echarts画图问题踩坑总结

热门文章

  1. LEETCODE —— Maximum Subarray [一维DP]
  2. DB2 claim与drain
  3. 在Windows上运行InfoPi
  4. unicode,ansi,utf-8,unicode big endian编码的区别
  5. ABBYY PDF Transformer+怎么标志注释
  6. Fully Convolutional Networks for semantic Segmentation(深度学习经典论文翻译)
  7. Discuz模拟批量上传附件发帖
  8. UIScrollView的使用
  9. C++中vector的用法
  10. c#读取INI文件