前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jmeter使用JDBC对数据库压测

Jmeter使用JDBC对数据库压测

原创
作者头像
谭银
修改2021-11-11 10:08:53
2.4K0
修改2021-11-11 10:08:53
举报
文章被收录于专栏:CSIG质量部压测团队

背景说明

压测除了全链路压测外,有时候也需要对指定服务进行性能测试,这里以jmeter工具对数据库进行压测说明。

压测不同数据库需要安装不同的数据库驱动,这里以mysql为例进行压测。

步骤一:数据库驱动安装

1.进入mysql官网,根据不同mysql版本下载对应的数据库驱动mysql-connector-java,下载mysql-connector-java,对应版本参考下图:

2.进去后根据自己操作系统下载压缩包

3.下载完成后解压,找到mysql-connector-java-xxx.jar的jar包,把jar包放到jmeter安装路径下的lib目录下即可,然后打开jmeter应用

步骤二:JDBC Connection Configuration配置

添加一个JDBC Connection Configuration,测试计划->添加->配置元件->JDBC Connection Configuration,用于连接数据库。

Variable Name Bound to pool

数据库连接池配置

配置项

说明

Variable Name for created pool

数据库连接池的名称,填写变量名,和JDBC request中的Variable Name进行绑定

Connection pool Configuration

连接池参数配置,基本保持默认即可,可根据需要进行修改

配置项

说明

Max Number of Connection

数据库最大链接数,一般可设置为0,意思是每个线程都使用单独的数据库连接,线程之间数据库连接不共享

Max Wait (ms)

在连接池中取回连接最大等待时间

Time Between Eviction Runs(ms)

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

Auto Commit

自动提交sql语句

Read timeout(ms)

等待服务器响应的超时时间

Transaction isolation

事务隔离级别,主要有如下几个选项:(对JMX加解密) TRANSACTION_NODE 事务节点 、TRANSACTION_READ_UNCOMMITTED 事务未提交读、TRANSACTION_READ_COMMITTED 事务已提交读 、TRANSACTION_SERIALIZABLE 事务序列化 、DEFAULT 默认、TRANSACTION_REPEATABLE_READ 事务重复读

Preinit Pool

立即初始化连接池如果为 False,则第一个 JDBC 请求的响应时间会较长,因为包含了连接池建立的时间

Connection Validation by Pool

验证连接池是否能响应

配置项

说明

Test While Idle

当连接空闲时测试是否断开

Soft Min Evictable Idle Time(ms)

连接在池中处于空闲状态的最短时间,默认值为5000(5秒)

Validation Query

一个简单的查询,用于确定数据库是否仍在响应

Database Connection Configuration

数据库连接配置

配置项

说明

Database URL

数据库连接 URL,具体说明见注1

JDBC Driver class

数据库JDBC驱动类名,选择对应数据库的数据驱动

Username

数据库登录用户名

Password

数据库登录密码

Connection Properties

建立连接时要设置的连接属性

注1:Database URL: jdbc:mysql://服务器地址:3306/数据库名(比如:jdbc:mysql://ip:3306/数据库名?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true。其中&allowMultiQueries=true表示允许执行多条sql)

步骤三:JDBC Request配置

数据库连接配置完成后添加JDBC Request,线程组->添加->取样器->JDBC Request,用于对JDBC请求

Variable Name Bound to pool

数据库连接池配置

配置项

说明

Variable Name for pool declared in JDBC Connection Configuration

数据库连接池的名称,和JDBC Connection Configuration的Variable Name for created pool名字保持一致

SQL Query

sql语句,这里以查询为例

配置项

说明

Query Type

sql语句类型,这里的语句选择的select statement,根据实际测试sql来选择

Query

填写的sql语句,多条语句中间用;分割,语句末尾不加;

JDBC Request

要传输的值

Parameter types

传输值的类型

Variable names

sql执行结果变量名

Result variable names

所有结果当做一个对象存储

Query timeouts(s)

查询超时时间

Limit Result Set

限制 sql 语句返回结果集的行数

Handle Result Set

如何定义 callable statements 返回的结果集;默认是存储为字符串

步骤四:脚本执行

添加查看结果树,线程组->添加->监听器->查看结果树,根据上面步骤对JDBC Connection Configuration和JDBC Request进行编辑完成后,单击页面顶部的开始按钮,运行脚本。

通过查看结果树查看脚本是否运行正常。在左侧导航树中,选择查看结果树,查看请求结果是否符合预期。如果出现请求失败的或者结果返回不符合预期,需要重新调整脚本或者SQL语句。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景说明
  • 步骤一:数据库驱动安装
  • 步骤二:JDBC Connection Configuration配置
    • Variable Name Bound to pool
      • Connection pool Configuration
        • Connection Validation by Pool
          • Database Connection Configuration
          • 步骤三:JDBC Request配置
            • Variable Name Bound to pool
              • SQL Query
              • 步骤四:脚本执行
              相关产品与服务
              云数据库 SQL Server
              腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档