首页 > 其他分享 >【测试】JMeter调用存储过程

【测试】JMeter调用存储过程

时间:2022-12-13 14:03:10浏览次数:55  
标签:存储 调用 JDBC Query JMeter 连接池

JMeter是可以直接调用SQL语句或者存储过程来完成测试的,这次就给大家讲一下如何通过调用MySQL存储过程完成测试。

首先我们先创建一个数据库连接池的配置信息:

【测试】JMeter调用存储过程_JMeter


如上图所示,已填写的参数描述如下:

  • Name:数据库连接池在JMeter中别名
  • Variable Name for created pool:配置信息作为变量名称的别名,这里我填写了DB_POOL
  • Max Number of Connections:最大的连接数
  • Max Wait:最大的等待时间
  • Time Between Eviction Runs:请求驱逐时间间隔
  • Auto Commit:自动提交
  • Transaction isolation:事务
  • Preinit Pool:预设连接池
  • Soft Min Evictable Idle Time:最小等待时间
  • Validation Query:验证脚本
  • Database Url:数据库连接地址
  • JDBC Driver class:数据库连接类
  • Username:用户账号
  • Password:用户密码

从上面的配置可看出大部分配置都采用了动态变量的方式进行填写,像​​Validation Query​​、​​Max Wait​​等。这些变量将通过另一个​​User default variable​​进行定义。

接下来为了调用JDBC存储过程需要新建一个来自JDBC Request的Sampler。

【测试】JMeter调用存储过程_存储过程_02


创建了JDBC Request后通过填写“DB_POOL”即可将之前配置的数据库连接池进行应用。

【测试】JMeter调用存储过程_JMeter_03

在​​Variable Name of Pool declared in JDBC Connection Configuration​​中填入“DB_POOL”即可。
由于我们需要调用的是存储过程,所以在Query Type中选择​​Callable Statement​​。而在Query输入框中填入调用存储过程的命令即可调用存储过程。

PS:第一次调用的时候可能会出现​​Cannot load JDBC driver class 'com.mysql.jdbc.Driver'​​错误。

【测试】JMeter调用存储过程_存储过程_04


这个错误是由于JMeter中并没有自带MySQL的JDBC驱动的,所以这个时候需要将Maven仓库中关于MySQL 5.1.x的JDBC驱动包(jar)复制到​​$JMETER_HOME/lib/ext​​目录底下,这样在JMeter启动的时候就会自动状态JDBC驱动了。

标签:存储,调用,JDBC,Query,JMeter,连接池
From: https://blog.51cto.com/u_15761576/5933881

相关文章