JMeter JDBC连接MySql配置

测试的过程中,我们经常要对数据库表数据进行查询、修改、添加等操作。在用 JMeter 做性能或者接口等测试时,也可以让 JMeter 连接数据库然后对数据库数据进行相关操作。下面先来学习如何使用 JMeter 连接 MySql 数据库进行操作。

一、创建测试

首先创建一个测试计划和线程组,然后在线程组下添加配置元件 JDBC Connection Configuration 。

二、设置数据库连接配置

接下来要对数据库连接的配置项进行设置。

Variable Name for created pool: 创建池的变量名 。这个变量在后面介绍的 JDBC Request 请求中用到。

Max Number of Connections: 池中允许的最大连接数。在大多数情况下,将其设置为零(0),这意味着每个线程都将拥有自己的池,其中只有一个连接,即线程之间不共享连接。如果您真的想使用共享池,那么将 max count 设置为与线程数量相同,以确保线程不会彼此等待。

Max Wait(ms):在试图检索连接的过程中超过了超时时间,则池会抛出一个错误 。

Time Between Eviction Runs (ms):在被逐出的时间间隔(ms)。在空闲对象驱逐线程之间运行的毫秒数。当非正的时候,就不会运行无用的对象驱逐线程(默认为"60000",1分钟) 。

Auto Commit:将自动提交或关闭连接到连接上 。

transaction isolation:事务隔离 。这个默认即可,具体用法暂时还没有研究过,会的可以分享一下。

Test While Idle :测试池的空闲连接 ,后面的验证查询将用于测试它。

Soft Min Evictable Idle Time(ms) :软Min可驱逐空闲时间(ms) 。在它有资格被闲置的对象驱逐者强制驱逐之前,一个连接可能闲置在池中,并且至少在池中存在空闲连接的额外条件,默认值为5000(5秒) 。

Validation Query :验证查询 。一个简单的查询,用来确定数据库是否仍在响应。 这个验证查询在池创建中使用,即使“空闲测试”建议查询只在空闲连接上使用,也可以验证它。

验证查询的列表可以配置 jdbc.config.check。查询属性,默认情况下:

hsqldb:select 1 from INFORMATION_SCHEMA.SYSTEM_USERS

Oracle:select 1 from dual

DB2:select 1 from sysibm.sysdummy1

MySQL:select 1

Microsoft SQL Server (MS JDBC driver):select 1

PostgreSQL:select 1

Ingres:select 1

Derby:values 1

H2:select 1

Firebird:select 1 from rdb$database

Database URL:数据库的JDBC连接字符串。格式:jdbc:mysql://host[:port]/dbname,称举个栗子:jdbc:mysql://127.0.0.1:3306/db_api。为了避免读取数据出现乱码,可以在前面基础上加上处理乱码的字符串,例如:jdbc:mysql://127.0.0.1:3306/db_api?useUnicode=true&characterEncoding=utf8

JDBC Driver class :JDBC驱动程序类 。MySql 选择 com.mysql.jdbc.Driver,另外我们要把 mysql-connector-java.jar 包放到 JMeter/lib目录下,然后重启 JMeter 。

mysql-connector-java.jar 包下载地址:https://pan.baidu.com/s/14N4Beohy14SvKJziAHVSDg 密码:vmy3

下面列举一些数据库及其参数的实例:

MySQL

PostgreSQL

  • Driver class:org.postgresql.Driver
  • Database URL:jdbc:postgresql:{dbname}

Oracle

  • Driver class:oracle.jdbc.OracleDriver
  • Database URL:jdbc:oracle:thin:@//host:port/service ORjdbc:oracle:thin:@(description=(address=(host={mc-name})(protocol=tcp)(port={port-no}))(connect_data=(sid={sid})))

Ingress (2006)

Microsoft SQL Server (MS JDBC driver)

Apache Derby

Username :连接数据库的用户名。

Password:连接数据库的密码。

三、连接数据库操作

设置完成后,接下来在线程组下创建一个 JDBC Request 请求。

1、查询操作

例如我们先来个查询语句。

运行脚本之前,我们先在 SQLyog 中查询看 table_api 表中有哪些数据?

接着在 JMeter 中添加一个查看结果树监听器,运行一次脚本。

从上面的结果可以看出,JMeter 已经成功操作了数据库,并且把 table_api 表的数据查询出来了,和在 SQLyog 中查询到的结果是一致的。

2、增加操作

下面往表内插入一行新数据。

运行脚本,查看结果。

从结果可以看出,插入数据也是没问题的。

3、修改操作

接下来,我们把隔壁老王的电话修改一下。

运行脚本,查看结果。

数据修改成功。

4、删除操作

最后,我们把隔壁老王的数据删除。

运行脚本,查看结果。

从查询结果看出,隔壁老王数据被删除,永远离开了我们。

以上就是 JMeter 连接 MySql 对数据库的一些操作,希望对大家有些帮助。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,041评论 2 89
  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 7,857评论 5 116
  • 一,胆大销售这一行每天面对形形色色陌生人,各行各业的精英,在完全不认识的情况下进行陌拜。还要流利发言。来推销自己和...
    行走_fcc6阅读 631评论 0 0
  • 文 / 婷兮 01 从前,车马很远,书信很慢,一生只够爱一人。但是现在,在这个快节奏的时代里,什么都讲究速度和效率...
    婷兮阅读 1,387评论 7 3
  • 每个人都是单枪匹马的闯荡险象环生的人生,一念起。风生水起,一念落,万劫不复。自从科目二挂了三次,我就再也不用担心,...
    北堂野望阅读 408评论 1 2