• JMeter学习(八)JDBC测试计划-连接Oracle


    一.测试环境准备

          Oracle:10g

          JDBC驱动:classes12.jar

                                 oracle安装目录下(oracleproduct10.2.0db_1jdbclibclasses12.jar)文件复制到JMeter/lib目录下

          JMeter:jmeter-2.11

    二.设计测试计划并运行

    1.打开JMeter,点击测试计划

     点击“浏览...”按钮,将你的JDBC驱动添加进来。

    2.添加一个线程组,右键点击“线程组”,在下面添加一个“JDBC Connection Configuration”

    来配置一下JDBC Connection Configuration页面。

    Pool Timeout:连接超时可以修改此时间 

    3.右键点击“线程组”,在下面添加一个“JDBC request”。

         需要修改的参数包括Variable Name,要与上面的 JDBC Connection Configuration填写同样的内容,如此处的:oracleConn。这里表示 JDBC Connection Configuration建立一个名为Oracle 的连接池,之后其它的JDBC Request都共用这个连接池.

    注意:SQL语句中,可以使用参数化.插入语句中的值也能参数化,如下图:

    注意:SQL语句后面不可能添加分号,否则报语法错误. 

    4.添加断言,右键点击线程组---->添加--->断言---->响应断言。

    5.我们来添加一些监听器来行查看:

    添加一个断言结果:右键点击线程组---->添加--->监听器---->结果断言。

    添加一个图形结果:右键点击线程组---->添加--->监听器---->图形结果。

    添加一个查看结果树:右键点击线程组---->添加--->监听器---->查看结果树。

    下面是添加所有的列表:

    6.在线程组页面设置用户数、启动时间、循环次数,再点击菜单栏“运行”----“启动”

    下面是结果:

    至此,Jmeter进行压力测试就到此为此了,具体还要根据实际的项目来进行实施。

    备注:Assertion Results对Jmeter压测的throughout有严重的影响。

    三.遇到的问题

    1、出现:java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@127.0.0.1:1521:ORCL错误解决

    原来是因为没有加载包的缘故

    解决方法:关闭jmeter,然后将class12.jar(电脑上搜索一下classes12.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、执行时提示:ORA-00911: invalid character。

    解决方法:确保你在JDBC Request里面的Query中输入的SQL语句是正确的。注意:SQL语句后面不要添加分号。

    四.驱动类

    不同的驱动类对应的jar不同,一定要注意下面介绍下:MSSQL下载sqljdbc4.jar放在apache-jmeter-2.6lib下面

    Datebase

    Driver class

    Database URL

    MySQL

    com.mysql.jdbc.Driver

    jdbc:mysql://host:port/{dbname}

    PostgreSQL

    org.postgresql.Driver

    jdbc:postgresql:{dbname}

    Oracle

    oracle.jdbc.driver.OracleDriver

    jdbc:oracle:thin:user/pass@//host:port/service

    Ingres (2006)

    ingres.jdbc.IngresDriver

    jdbc:ingres://host:port/db[;attr=value]

    MSSQL

    com.microsoft.sqlserver.jdbc.SQLServerDriver

    或者

    net.sourceforge.jtds.jdbc.Driver

    jdbc:sqlserver://IP:1433;databaseName=DBname

    或者

    jdbc:jtds:sqlserver://localhost:1433/"+"library"

    分类: JMeter
  • 相关阅读:
    编译原理之理解文法和语言
    利用微信电脑最新版 反编译微信小程序 无需root
    编译程序与翻译程序、汇编程序的联系与区别,编译过程包括的几个主要阶段,解释程序与编译程序的区别
    New
    自我介绍+软工5问
    Sharepoint + Office Infopart + Quick Apps for Sharepoint搭建无纸化工作平台
    练练脑javascript写直接插入排序和冒泡排序
    TodoMVC中的Backbone+MarionetteJS+RequireJS例子源码分析之二 数据处理
    TodoMVC中的Backbone+MarionetteJS+RequireJS例子源码分析之一
    Django+Tastypie作后端,RequireJS+Backbone作前端的TodoMVC
  • 原文地址:https://www.cnblogs.com/w-20150101/p/4350281.html
Copyright © 2020-2023  润新知