jmeter操作 mysql 配置参数(一)

 

常见数据库的连接 URL和驱动

 

        

 

数据库

 

驱动

 

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

 

sqlServer

 

com.microsoft.sqlserver.jdbc.SQLServerDriver

 

jdbc:sqlserver://host:port;databaseName=databaseName

 

一、配置

  1. 下载安装驱动包,将mysql-connector-java.jar

  方式一:

    将jar包放置在jmete安装路径的lib目录下,重启jmeter。

  方式二:

    在测试计划底部添加jar包即可。

    jmeter操作 mysql 配置参数(一)

 

 

二、JDBC connection configuration 参数配置

  1. 添加配置元件

    启动jmeter》线程组》配置元件》JDBC connection configuration

  2. jdbc参数

jmeter操作 mysql 配置参数(一)  

 

  1)Variable Name Bound to Pool 连接池变量名    

  • Variable Name: 变量名称,需要变量名绑定到池。需要唯一标识。与JDBC取样器中的相对应,决定JDBC取样的配置。简单理解就是在JDBC request的时候确定去哪个绑定的配置。

 

  2)Connection Pool Configuration JDBC连接池配置,一般使用默认值就可以

  • Max Number of Connection: 数据库最大链接数。

      做性能测试时,建议填 0,意思是每个线程都使用单独的数据库连接,线程之间数据库连接不共享。

      如果您真的想要使用共享池,那么将max count与线程数相同,以确保线程不会相互等待。

  • Max Wait (ms) : 在连接池中取回连接最大等待时间。

      中文:如果在试图检索连接过程中(取回连接)超过所设置期限,连接池抛出一个错误

  • Time Between Eviction Runs (ms) : 线程可空闲时间,单位毫秒,默认6000(6秒)。

       如果当前连接池中某个连接在空闲了 time Between Eviction Runs Millis 时间后任然没有使用,则被物理性的关闭掉

  • Auto Commit:自动提交sql语句,如:修改数据库时,自动 commit。有三个选项,true、false、编辑(自己通过jmeter提供的函数设置)。
  • Transaction Isolation:  事务间隔级别设置,主要有如下几个选项:(对JMX加解密) 

       1. TRANSACTION_NODE   事务节点 、

       2. TRANSACTION_READ_UNCOMMITTED  事务未提交读、

          3. TRANSACTION_READ_COMMITTED   事务已提交读 、

       4. TRANSACTION_SERIALIZABLE   事务序列化 、

       5. DEFAULT  默认、

       6. TRANSACTION_REPEATABLE_READ 事务重复读、

       7. 编辑

  • Preinit Pool:立即初始化连接池。默认false。
    • 如果为 False,则第一个 JDBC 请求的响应时间会较长,因为包含了连接池建立的时间。
    • 有三个选项,true、false、编辑(自己通过jmeter提供的函数设置)。

 

3)Connection Validation by Pool 连接池是否有效 判断,一般使用默认就可以

  • Test While Idle :当空闲的时候测试连接是否断开

  • Soft Min Evictable Idle Time(ms) :默认值为5000(5秒)

      中文:最少的时间连接可能在池中闲置,然后才有资格被闲置的对象驱逐出去,额外的条 件是至少在池中保持连接。

  • Validation Query:简单的查询,用于确定数据库是否仍在响应。默认为jdbc驱动程序的 isValid() 方法,适用于许多数据库。

 

 

4))Database Connection Configuration 数据库配置

  • Database URL:jdbc:mysql://服务器地址:3306/数据库名  

    比如: jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&allowMultiQueries=true

  备注:

    allowMultiQueries=true:是为了在JDBC中执行多条select语句的时候用的!

    serverTimezone=UTC:设置时区(有时不设置时区会报错)

    characterEncoding=utf8:设置字符编码

    autoReconnect=true:设置自动重连

    useUnicode=true:使用Unicode编码

  • JDBC Driver class:数据库JDBC驱动类名:com.mysql.jdbc.Driver

  • Username:数据库连接用户名

  • password:数据库连接密码

  • Connection Properties: 建立连接时要设置的连接属性

 

 

三、JDBC Request 参数配置

  线程组》添加》取样器

  jmeter操作 mysql 配置参数(一)

 

  • Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound Pool名字保持一致

  • Query Type:设置sql语句类型。

    -Select Statement:1条查询sql

    - Update Statement :1条sql (插入和删除)

    - Callable Statement:多条查询sql

    - Prepared SelectStatement:多条查询sal

    - Prepared Update Statement-:多条sql(插入和删除)

    - Commit:

    - RollbackAutocommit(false):

    - Autocommit(true):

    - Edit: 这应该是一个变量引用,它的值应该等于上面的值之一。

  • Query:填写的sql语句

  • Parameter valus:参数值(sql语句参数化的时候使用)

  • Parameter types:参数类型,可参考:Javadoc for java.sql.Types(字段类型,与参数值一一对应)

  • Variable names:保存sql语句返回结果的变量名

  • Result variable name:创建一个对象变量,保存所有返回的结果

  • Query timeout:查询超时时间

  • Handle result set:定义如何处理由callable statements语句返回的结果

 

 

 

 

 

 

 

 

 

 

 

 

 

jmeter操作 mysql 配置参数(一)

上一篇:【翻译】SQLite 不只是玩具数据库而已


下一篇:SqlServer存储过程应用二:分页查询数据并动态拼接where条件