Jmeter JDBC Request--测试数据库连接
一、Oracle数据库
测试每秒插入100条数据时,数据库的响应。
连接准备:
Database URL:jdbc:oracle:thin:@127.0.0.1:1521:ORCL
JDBC Driver class:oracle.jdbc.driver.OracleDriver
Username:scott
Password:tiger
驱动包:classes12.jar
1、连接准备
1)、在测试计划里面引入class12.jar驱动包
2)、添加【线程组】
设置100个用户在1秒以内启动,然后循环提交100次。
3)、添加配置元件——》JDBC Connection Configuration
4)、添加JDBC request请求
其中的Variable Name和上面JDBC Connection Configuration中的Variable Name相同,这里表示JDBC Connection Configuration 建立一个名为ORACLE的连接池,之后其他JDBC Request 都共用这个连接池。
其中:
Parameter values表示我们要添加的数据,需要不同数据添加可以使用参数化
Parameter types为上面需要输入数据的类型,与上面的一一对应
Variable names:变量名称,为数据库的字段名称
2、添加监听器启动
我们添加聚合报告,查看结果树,jp@gc - PerfMon Metrics Collector(监控内存和CPU)
聚合报告:
查看结果树:
jp@gc - PerfMon Metrics Collector:
数据库查询:
具体分析可以查看以下网址后面的分析结果:
http://www.cnblogs.com/linglingyuese/archive/2013/03/04/linglingyuese-one.html
二、MySQL数据库
连接准备:
Database URL:jdbc:mysql://127.0.0.1:3306/paydb
JDBC Driver class:com.mysql.jdbc.Driver
Username:root
Password:
驱动包:mysql-connector-java-3.0.17-ga-bin.jar
三、出现的错误集锦
1、出现:java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@127.0.0.1:1521:ORCL错误解决
原来是因为没有加载包的缘故,关闭jmeter,然后将class12.jar复制到jmeter目录下面的lib目录中,重新启动运行即可。
2、连接MySQL数据库时,出现:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown character set: 'utf8mb4'错误
看起来似乎是设置字符的问题,后来在JDBC连接配置那里将Database URL加上字符编码即可(?characterEncoding=UTF-8)
jdbc:mysql://127.0.0.1:3306/paydb?characterEncoding=UTF-8
3、出现:org.apache.avalon.excalibur.datasource.NoAvailableConnectionException: Could not create enough Components to service your request (Timed out).
出现这个原因是因为连接超时,增大Pool TimeOUT就可以了。
4、出现:Variable Name must not be null in JDBC Request
jdbc请求的变量名不能为空,将jdbc请求的variable name加上即可,需注意,jdbc请求的variable name和JDBC Connection Configuration的variable name必须一致