Jmeter 数据库性能测试-JDBC Request(Oracle)
http://www.cnblogs.com/jackei/archive/2006/07/31/464001.html
下载Oracle的jdbc数据库驱动包,注意Oracle数据库的版本,这里使用的是:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production;
一般数据库的驱动包文件在安装路径下:D:\oracle\product\10.2.0\db_1\jdbc\lib的位置上;数据库驱动包与数据库所在的操作系统平台无关,只与数据库版本有关,Linux上与Windows上对于同一个版本的数据库,使用的数据库驱动包是一样的;
驱动ojdbc6.jar下载地址:http://www.oracle.com/technetwork/cn/articles/oem/jdbc-112010-094555-zhs.html
场景:测试一个服务器的性能,要求查看向数据库内插入数据1000条/s的处理能力;
按照以前的思路:通过编写java程序来循环插入数据,编写一个批处理文件来调用java程序。再通过LR的system()函数调用批处理文件来进行压力测试。
但用JMeter就很容易实现,过程如下:
前置条件:1.有库;2.库中有表,例如user_dyl(code,name);
要求:往数据库内大批量插入数据,1000条/s;
1、创建测试计划,将使用的数据库驱动包导入
也可以直接将ojdbc14.jar复制到Jmeter的lib目录下,ojdbc14.jar文件一般位于Oracle安装目录的jdbc\lib目录下,如D:\oracle\product\10.2.0\client_2\jdbc\lib;
再将该jar文件路径添加到classpath中。
2、添加线程组,设置虚拟用户数、启动时间、循环次数
3、在线程下面创建JDBC Connection Configuration,设置相关信息
jdbc:oracle:thin:@172.19.10.250:1521:db01 (可以参考PLSQL中配置 D:\oracle\product\10.2.0\client_2\NETWORK\ADMIN\tnsnames.ora)
oracle.jdbc.driver.OracleDriver
4、创建一个JDBC Request,我们需要对数据库做插入操作,注意值带''
如果是查询语句, Query type选择‘select statement’
5、添加监听器,我们这里选择添加”图形结果“、”查看结果树“,点击菜单栏【运行】——>【启动】,查看我们的运行结果
问题:
1. Response message: java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-00923: FROM keyword not found where expected
配置SQL Server 2000数据库连接池时,属性validationQuery默认值为“select 1”,
而在Oracle数据库连接池中应设置为“validationQuery="select 1 from dual"”