zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

性能测试|JMeter连接数据库

2023-02-25 18:18:52 时间

jmeter连接mysql数据库

总体步骤如下:

  1. 下载mysql的jar包放入到jmeter的lib下,然后重启jmeter
  2. 配置JDBC Connection Configuration
  3. 配置JDBC Request
  4. 在请求中引用查询到的结果变量,可以结合计数器取每一个结果值:${_V(tname${index})}

具体实施步骤

  1. 下载Mysql jdbc驱动包

尽量保证其版本和你的数据库版本一致,至少不低于数据库版本,否则可能有问题。

mysql官网下载地址:https://dev.mysql.com/downloads/connector/j/

JDBC驱动在mysql的官网下载:https://dev.mysql.com/downloads/file/?id=477058,不需要注册,直接点击左下角的小字

在这里插入图片描述
  1. 在测试计划下面把JDBC驱动包导入,如下图
在这里插入图片描述
  1. 线程组下添加一个配置元件JDBC Connection Configuration
在这里插入图片描述

Variable Name:自定义参数,在JDBC Request中会用到 Database URL:jdbc:mysql:// 数据库IP地址:数据库端口/数据库名称;jdbc:mysql://localhost:3306/mysql?serverTimezone=UTC&characterEncoding=utf-8,注意:?后面的serverTimezone=UTC&characterEncoding=utf-8不能缺少,否则会报时区错误。 JDBC Driver Class:com.mysql.jdbc.Driver Username:数据库用户名 Password:数据库密码

  1. 在添加一个Sampler:JDBC Request
在这里插入图片描述

4.1 由于只需要在数据库中取一次数据,即 jdbc取样器只需要执行一次,可以使用仅一次控制器;如下图:

配置路径:逻辑控制器——仅一次控制器

在这里插入图片描述
  1. 运行之后,数据库会返回某一列下的数据
在这里插入图片描述
  1. 在http请求中引用tname变量名,如果有一列数据返回,引用变量的时候可以输入${tname_1},发送请求的参数值就是 周启元
在这里插入图片描述

variables names 参数使用方法:

Jmeter官网的解释是:如果给这个参数设置了值,它会保存sql语句返回的数据和返回数据的总行数。假如,sql语句返回2行,3列,且variables names设置为A,C,那么如下变量会被设置为:

A_#=2(总行数)

A_1=第1列,第一行;如上面的变量${tname_1};

A_2=第1列,第2行

C_#=2(总行数)

C_1=第3列,第1行

C_2=第3列,第2行

如果返回结果为0,那么A#和C#会被设置为0,其他变量不会设置值。

如果第一次返回6行数据,第二次只返回3行数据,那么第一次的6行数据变量会被清除

可以使用${A_#}、${A_1}...来获取相应的值

  1. 如果想循环数据库返回的值,可以使用计数器,加引用的变量${_V(tname${index})};如下图

根据上方数据库返回的tname列下有9行数据,在计数器中最大值填入9,在输入一个变量名index;

在这里插入图片描述

在http请求中引用数据量返回的变量+计数器的变量:${_V(tname${index})};

在这里插入图片描述
  1. 运行结果
在这里插入图片描述