Jmeter使用JDBC对数据库压测

2023-11-19

背景说明

压测除了全链路压测外,有时候也需要对指定服务进行性能测试,这里以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语句。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jmeter使用JDBC对数据库压测 的相关文章

  • 策略模式还是命令模式?

    假设我有一个金融交易列表 我需要针对这些交易执行一系列验证规则 一个例子是我有一笔购买产品的交易 但是首先我需要验证交易中的帐户是否有足够的可用资金 产品没有售完等 由于这些规则 交易将是标记为拒绝 并应指定错误代码 当然 我正在考虑用一个
  • 从文本文件中读取阿拉伯字符

    我完成了一个项目 在该项目中我读取了用记事本编写的文本文件 我的文本文件中的字符是阿拉伯语 文件编码类型是UTF 8 当在 Netbeans 7 0 1 中启动我的项目时 一切似乎都正常 但是当我将项目构建为 jar 文件时 字符以这种方式
  • 在 Java 正则表达式中获取多个模式的重叠匹配

    我有同样的问题这个链接 https stackoverflow com questions 18751486 matching one string multiple times using regex in java 但有多种模式 我的正
  • 如何在url请求中发送数组

    我的要求如下 我想给出演员姓名 开始日期 结束日期并获取他在该时期出演的所有电影 因此 我的服务请求是这样的 http localhost 8080 MovieDB GetJson name Actor startDate 20120101
  • 如何作为应用程序发布到页面?

    所以 我有一个应用程序 Facebook 应用程序实体 并且我有一个页面 我想使用应用程序通过java代码 通过restfb或任何其他建议 发布到页面 看起来我错过了页面授予应用程序发布权限的阶段 不知道该怎么做 谢谢你们 乌里 您只能 作
  • 使用 Apache POI Excel 写入特定单元格位置

    如果我有一个未排序的参数 x y z 列表 是否有一种简单的方法将它们写入使用 POI 创建的 Excel 文档中的特定单元格 就好像前两个参数是 X 和Y 坐标 例如 我有如下行 10 4 100 是否可以在第 10 行第 4 列的单元格
  • Java 卡布局。多张卡中的一个组件

    一个组件 例如JLabel 在多张卡中使用CardLayout 目前看来该组件仅出现在它添加到的最后一张卡上 如果有办法做到这一点 我应该吗 这是不好的做法吗 或者有其他选择吗 你是对的 它只出现在 添加到的最后一张卡 中 但这与CardL
  • JavaFX使节点覆盖父节点边框颜色

    我有一个如下所示的节点 仅使用 css 我希望标签覆盖其父边框颜色 因此标签下方的边框颜色部分变得不可见 我用来制作这个边框的CSS代码 fx border color black fx border width 3 fx border r
  • 确定序列化对象的类型

    我需要通过套接字发送消息 从用户到引擎的请求 以及从引擎到用户的响应 所以流程本质上是 serialized request Server lt network gt Client serialized response request r
  • 插入时的 iBatis 判别器

    我有一个抽象类Example以及与之相伴的具体子类 我使用鉴别器来提取数据out数据库的 像这样
  • 正确签名的 JNLP 应用程序无法在 Java 7 中运行

    我有一个 JNLP 应用程序 由于证书过期需要更新 我有一个经过 CA 验证的新证书 我已将新证书导入到我的密钥库中 我已导入完整的证书链 我的构建文件对构建中的 jar 进行签名和时间戳
  • 在带有 Protocol Buffers 的项目中使用 Proguard 有什么特点?

    我有一个使用 Google Protocol Buffers 的项目 一旦我尝试用 ProGuard 对其进行混淆 似乎 protobuf 会导致问题 我将所有自己的类打包成mybuildedclasses jar 谷歌代码被打包成prot
  • JUNIT 测试 void 方法

    我有一个充满 void 方法的 java 类 我想进行一些单元测试以获得最大的代码覆盖率 例如我有这个方法 protected static void checkifValidElements int arg1 int arg2 metho
  • 在 java 中运行外部应用程序但不要等待它完成

    我正在用java编写一个应用程序 允许我运行其他应用程序 为此 我使用了 Process 类对象 但当我这样做时 应用程序会等待进程结束 然后再退出 有没有办法在 Java 中运行外部应用程序 但不等待它完成 public static v
  • 使用单独的线程在java中读取和写入文件

    我创建了两个线程并修改了 run 函数 以便一个线程读取一行 另一个线程将同一行写入新文件 这种情况会发生直到整个文件被复制为止 我遇到的问题是 即使我使用变量来控制线程一一执行 但线程的执行仍然不均匀 即一个线程执行多次 然后控制权转移
  • java中使用多线程调用同一类的不同方法

    我有一个类 如下所示 具有三种方法 public class MyRunnable implements Runnable Override public void run what code need to write here to c
  • Collections.sort(list) 和 list.sort(Comparator) 之间的区别

    有什么理由让我应该选择Collections sort list 方法而不是简单地调用list sort 内部Collections sort只是调用sort的方法List无论如何 上课 令人惊讶的是几乎每个人都告诉我使用Collectio
  • Axis2 错误:要输出的文本中的空白字符 (0x4) 无效

    我创建了一个 Java 客户端 使用 Axis2 1 7 6 作为代码生成器与 SOAP Web 服务进行交互 问题在于客户端的某些输入抛出异常并显示以下消息 org apache axis2 AxisFault Invalid white
  • 如何使用自定义 JDK 构建 Jenkins 项目?

    我有一个常规的 Jenkins 实例 运行一些多分支管道 该实例在 JDK 11 上运行 因为 Jenkins 并不真正支持更高版本 没关系 但不好的是 我的所有管道似乎也都受到 Java 11 的限制 Jenkins 仅使用它自己也使用的
  • 决策树和规则引擎 (Drools)

    In the application that I m working on right now I need to periodically check eligibility of tens of thousands of object

随机推荐

  • Docker Compass

    Docker Compose介绍 使用微服务架构的应用系统一般包含若干个微服务 每个微服务一般都会部署多个实例 如果每个微服务都要手动启停 那么效率之低 维护量之大可想而知 本节课将讨论如何使用 Docker Compose来轻松 高效地管
  • ICCV 2023

    点击下方卡片 关注 CVer 公众号 AI CV重磅干货 第一时间送达 点击进入 gt 目标跟踪 微信交流群 作者 Jaraxxus 已授权转载 源 知乎 编辑 CVer https zhuanlan zhihu com p 6438354
  • 2018年区块链人才趋势:降温、调节、蓄势待发

    2018年 戊戌年 是一个不平静的年份 自960年前的戊戌年王安石变法 到最近两百年的四个戊戌年 其间发生的大事无不与 变革 息息相关 年初 从科技圈 金融圈里 引爆出一个叫 区块链 的公众热点 从技术角度而言 这并非新生事物 但因其巨大的
  • Linux网络服务管理&防火墙详解&端口问题

    每次配置访问服务器都会一团迷雾 今天来尝试弄清楚同时借鉴一下大佬的博文当做笔记 文章目录 防火墙简介 一 防火墙基础 二 iptables 防火墙策略 iptables 命令格式 iptables案例 1 查看开放的端口 2 开放端口 此处
  • 七、PXE高效批量网络装机

    七 PXE高效批量网络装机 PXE概述 PXE严格来说并不是一种安装方式 而是一种引导方式 进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡 NIC 即网卡中必须要有 PXE Client PXE Pre boot
  • 如何在Linux系统上监测系统温度?(亲测可用)

    转载自 http os 51cto com art 201311 417208 htm 按理说 在大多数情况下 你用不着为电脑的运行温度而操心 除了制造瑕疵外 电脑硬件在设计时确保温度不会超过最高工作温度 但即使没有任何的硬件故障 也会由于
  • QT6源码编译全过程

    QT6源码编译全过程 windows环境下使用VS2019 QT6源码编译全过程 windows环境下使用VS2019 qt6 编译 刘亿辰的博客 CSDN博客 一 随记 QT作为一个跨平台的界面开发平台 经过了历史长河的洗礼以及一代代Qt
  • 【Windows系统】资源管理器右键卡顿案例

    问题 最近在使用办公电脑过程中 发现在Windows系统资源管理器中使用右键会出现卡顿现象 这是一台经常使用 工作日上班都会使用 以前没有这个问题 出现问题的环境 windows版本 win10 x64 22H2 解决方法 1 关闭映射到本
  • VUE之Echarts地图引入及配置项详解

    步骤 建立dom用于渲染地图组件 div style width 100 height 100 class map charts div 引入所需js文件 import echarts from echarts require echart
  • Unity中在场景中添加水资源效果的方法

    首先 导入系统自带的水资源包 鼠标右击Project视图中的Assets文件夹 在弹出来的列表中选择 Import Package gt Water Basic 然后 弹出一个 Importing package 窗口 自由选择其中的包 全
  • Python操作数据库

    pymysql模块简单实用 1 安装pymysql模块 pip3 install PyMySQL 2 建立连接 与MySQL服务端建立连接 conn pymysql connect host 127 0 0 1 ip port 3306 端
  • 因果模型五:用因果的思想优化风控模型——因果正则化评分卡模型

    因果模型五 用因果的思想优化风控模型 因果正则化评分卡模型 一 模型中的因果和相关 二 不可知样本选择偏差 三 因果推断 四 因果与评分卡的融合 五 模型效果评估 5 1 人工合成数据效果测试 5 2 YFCC100M图像数据测试 5 3
  • 高德地图打点获取点的坐标和名称

    一 首先引入地图 代码在最后 二 然后是打点获取坐标和名称的方法 代码在最后 重点 如果不加上密钥的话可能会得不到数据名称 你想要的代码来了 密钥 window AMapSecurityConfig securityJsCode 你申请ke
  • GraphPad Prism 9.2 Mac 2021最新安装使用教程

    GraphPad Prism集生物统计 化学统计 以及科技绘图于一身 其中医学所能用到的绘图需要它几乎都能满足 Prism 现在被各种生物学家以及社会和物理科学家广泛使用 超过110个国家的超过20万名科学家依靠 Prism 来分析 绘制和
  • SpringBoot学习遇到的问题(1) - 配置文件有日志的debug模式等配置项,为什么不起作用...

    这个问题困扰我近乎两天 通过查找N多资料后终于解决 写下来共享给大家 logging level root DEBUG 一系列的日志配置项 都不起作用的原因是springboot启动加载不到src main resources下的配置文件a
  • 那些踩过的declared implicitly的坑

    缺少头文件 我的本意是想做串口打印进行调试 于是我在usart c中重写了这两个函数 这里顺便记录下如何串口打印 usart c中 int fputc int ch FILE f HAL UART Transmit huart1 uint8
  • 2023计算机四非保研(复试:东北大学,成电,西电,浙软,中海洋,天大)

    文章目录 个人情况 夏令营情况 预推免情况 进入复试 中国海洋大学 学硕 浙大软院 专硕 天津大学智算 专硕 中科院网络中心 专硕 西电网安院 学硕 东北大学计算机 学硕 成电计算机 专硕 最终offer 感想 个人情况 本科学校 西北某四
  • firmware-mod-kit工具安装和使用说明

    一 firmware mod kit工具的安装 firmware mod kit工具的功能和binwalk工具的类似 其实firmware mod kit工具在功能上有调用binwalk工具提供的功能以及其他的固件解包工具的整合 下载fir
  • pp-human在rk3588上部署

    https github com leeguandong Yolov5 rknnlite2https github com leeguandong Yolov5 rknnlite2 这是我在paddledetection和rknn官方基础上
  • Jmeter使用JDBC对数据库压测

    背景说明 压测除了全链路压测外 有时候也需要对指定服务进行性能测试 这里以jmeter工具对数据库进行压测说明 压测不同数据库需要安装不同的数据库驱动 这里以mysql为例进行压测 步骤一 数据库驱动安装 1 进入mysql官网 根据不同m