浅谈配置元件之JDBC连接配置

news2024/11/18 17:24:58

浅谈配置元件之JDBC连接配置

通过使用“JDBC连接配置”配置元件(JDBC Connection Configuration),您可以轻松地在JMeter测试计划中集成数据库交互能力。本指南将详细介绍如何设置和使用此配置元件来连接数据库并执行SQL查询。

1. 准备工作

下载JDBC驱动
首先,确保您已下载适用于目标数据库的JDBC驱动程序。例如,对于MySQL,您需要下载mysql-connector-java-x.x.xx.jar。可以从数据库提供商的官方网站获取相应驱动。
安装JDBC驱动到JMeter
将下载的JDBC驱动复制到JMeter安装目录的lib文件夹内(或lib/ext文件夹,具体取决于JMeter版本和偏好)。这样做可以确保JMeter能够识别并使用该驱动,无需额外配置。

2. 配置JDBC连接

新建测试计划
● 打开JMeter,创建一个新的测试计划(Test Plan)或者在现有的测试计划中进行配置。
添加JDBC Connection Configuration

  1. 右键点击测试计划(Test Plan)或其他合适的层级(如线程组Thread Group),选择“添加” > “配置元件” > “JDBC Connection Configuration”。
  2. 在JDBC Connection Configuration界面中,常见配置信息如下:
    ○ Variable Name for Created Pool:这是一个变量名,用于后续的JDBC Request中引用此数据库连接。例如,可以设置为MySQLDB。
    ○ Max number of Connections:数据库最大连接数,建议设置0
    ○ Max Wait (ms):连接最大等待时间,单位毫秒;
    ○ Time Between Eviction Runs (ms):线程空闲时间,单位毫秒,当连接池中某个连接在空闲时间为上述设置的时间后没有使用,则被连接关闭
    ○ Auto Commit:自动commit
    ○ Transaction Isolation:事务隔离级别(一般默认)
    ○ Test While Idle:当连接空闲时是否断开
    ○ Soft Min Evictable Idle Time(ms):连接池中处于空闲状态的最短时间
    ○ Validation Query:一个简单的查询,确定数据库是否存在响应;默认为 jdbc 驱动程序的 isValid() 方法需要当Test While Idle 配置为 True
    ○ Database URL:数据库的URL,格式一般为jdbc:[database_type]😕/[hostname]:[port]/[database_name]?[parameters]。例如,MySQL的URL可能是jdbc:mysql://localhost:3306/mydatabase。
    ○ JDBC Driver Class:JDBC驱动的完全限定类名。例如,MySQL的驱动类名为com.mysql.cj.jdbc.Driver。
    ○ Username: 数据库的用户名。
    ○ Password: 数据库的密码。
    ○ 其他可选参数,如超时设置等,根据需要调整。

3. 使用JDBC请求

● 为了执行SQL查询或更新,需要在适当的位置(如线程组内)添加“JDBC Request”取样器。
● 在JDBC Request中,选择之前在“JDBC Connection Configuration”中定义的变量名作为“Variable Name of Pool”。
● 输入SQL语句,选择查询类型(SELECT, UPDATE, INSERT等)。
4. 实例说明
首先编写一个性能测试脚本
在这里插入图片描述
线程组:保持默认参数
JDBC Connection Configuration:
● Variable Name for created pool设置为db;
● Database URL设置为jdbc:mysql://XX.XX.XXX.XX:3306/db
● JDBC Driver class根据实际驱动,本案例设置为:com.mysql.jdbc.Driver
● Username设置为root
● Password设置为passwd
JDBC Request:
● Variable Name for pool declared in JDBC Connection Configuration设置为db
● Query设置为select * from api_request_record;
执行脚本,查看结果树,响应数据的Response Body里面可以看到如下结果
在这里插入图片描述

5. 清理与注意事项

● 使用tearDown Thread Group来执行关闭数据库连接的操作,这有助于在测试结束后清理资源。
● 确保在多用户并发测试时,数据库的配置能够支持足够的连接数。
● 注意处理数据库事务和数据一致性问题,尤其是在执行更新或插入操作时。

6. 总结

通过以上步骤,您可以成功配置JMeter以与数据库进行交互,实现性能测试中对数据库操作的模拟。正确配置JDBC连接是进行复杂应用性能测试的关键一环,能够帮助您全面评估系统的负载能力和稳定性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1838761.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2002-2022年各省人口总抚养比数据(人口抽样调查)

2002-2022年各省人口总抚养比数据(人口抽样调查) 1、时间:2002-2022年 2、指标:总抚养比 3、来源:国家统计局、统计年鉴 4、范围:31省, 5、缺失情况:无缺失,其中201…

视频监控统一管理平台LntonCVS安防视频监控系统视频汇聚方案

LntonCVS平台最初被设计为一个以视频汇聚为核心的平台。那么,什么是视频汇聚平台,以及它是如何处理视频资源的呢?简单来说,视频汇聚平台能够从不同的视频源(如直播和点播)收集、整合和展示视频内容。以下是…

SAS:从零开始用proc report出人口统计学表

目的:如何生成如下图所示的人口统计学的表格 要点: 1、连续型变量(基线体重、基线身高等)需要展示例数、均值、中位值、最小值、最大值;离散型变量(性别、民族等)需要展示例数和百分比。这些统…

application/x-www-form-urlencoded和json的区别

application/x-www-form-urlencoded 和 application/json 是两种不同的数据格式,常用于HTTP请求中传递数据。 它们各自的特点和使用场景如下: 1. application/x-www-form-urlencoded •特点:这是一种传统的表单提交时采用的编码类型&#x…

Jenkins+K8s实现持续集成(一)

镜像仓库的搭建 docker run -d \--restartalways \--name registry \-p 5000:5000 \-v /root/devops/registry/data:/var/lib/registry \registry安装完之后,执行下面命令可以看到镜像仓库已经安装成功 docker ps 然后在浏览器上输入下面地址进行访问 http://ip:…

高性价比MOS推荐:惠海HC090N10L,HC025N10L,100V高耐压,12V/24V加湿器和3.7V打火机专用MOS

加湿器MOS应用特点(HC090N10L,HC025N10L): 沟槽工艺,抗性好,不容易烧 可应用在1.8MHZ,2.4MHZ和3MHZ频率的加湿器 100V高耐压,MOS不容易尖峰击穿 加湿器缺水干烧MOS不易坏 加湿器出雾量大 …

路由框架 ARouter 原理及源码解析

文章目录 前言一、ARouter 简介二、ARouter 使用1.添加依赖和配置2.添加注解3.初始化SDK4.发起路由操作 三、ARouter 成员1. PostCard 明信片2. Interceptor 拦截器3. Warehouse 路由仓库4. ARouter 注解处理 四、ARouter 原理五、ARouter 源码分析1. ARouter 初始化1.1 ARoute…

美国ARC与延锋安全合作,推动汽车安全气囊技术新突破

在汽车安全领域,安全气囊作为关键被动安全配置,对于保障乘客生命安全至关重要。随着汽车工业的快速发展和科技创新的持续推进,安全气囊技术的升级与革新显得尤为重要。2022年10月25日,美国ARC公司与延锋安全携手合作,共…

产品交付能力提升的探索与分享

在当前激励的市场竞争环境下,对项目交付的成本和毛利要求越来越高。如何能快速高效地完成项目交付已然成为我们矢志追求的目标。抛开人为因素对项目交付效率的影响,产品本身的交付能力才是关键。因此,在设计新产品时需要考虑其便捷交付性&…

那些年我为了考PMP踩过的坑.....

说到考PMP我尊嘟很难过且伤心,众所周知,报考PMP都是要报机构的而且还是PMI认证的机构,所以在报考PMP过程中选的机构我可以说踩过了很多坑了...... Q:包过吗? 大家千万不要信某某机构说的包过噱头,真的很坑…

具身智能的视觉-语言-动作模型综合综述论文

近期arXiv公开了关于具身智能(Embodied AI)中的视觉-语言-动作模型(Vision-Language-Action Models,简称VLAs)的综合综述论文。介绍了VLAs的概念,它们是为了处理多模态输入而设计的模型,包括视觉…

用AI绘画生成网上爆火的治愈系插画,竟然轻松月入两万?!

大家好,我是向阳 一个月的时间,涨粉 2w,太猛了。这类作品,不仅涨粉能力强,变现能力也很强。 在第 11天的时候,就已经开始接商单变现了。 而这类账号,不仅仅只有接商单这一种变现模式。至于其…

Spire.PDF for .NET【文档操作】演示:如何删除 PDF 中的图层

借助Spire.PDF,我们可以在新建或现有pdf文档的任意页面中添加线条、图像、字符串、椭圆、矩形、饼图等多种图层。同时,它还支持我们从pdf文档中删除特定图层。 Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PD…

用python和HY(lisp)代码为例学习什么是递归?

什么是递归? 看ANSI Common Lisp手册,里面提到递归第二章:欢迎来到 Lisp — ANSI Common Lisp 中文版,说:不要把递归看作一个普通函数来理解,因为普通函数经常被当成一个“机器”,原料从入口进…

2021数学建模A题目–“FAST”主动反射面的形状调节

A 题——“FAST”主动反射面的形状调节 思路:该题主要是通过利用伸缩杆调整FAST反射面,给出合适的调整方案 程序获取 第一题问题思路与结果: 当待观测天体S位于基准球面正上方,结合考虑反射面板调节因素,确定理想抛物…

消息队列的对比及适配的应用场景

消息队列的对比及适配的应用场景## 特性 / 消息队列KafkaRabbitMQActiveMQRedis消息模型发布-订阅、流处理队列、发布-订阅队列、发布-订阅发布-订阅协议支持自定义TCP协议、REST代理AMQP、STOMP、MQTTAMQP、OpenWire、STOMP、MQTT自定义协议可用性非常高,分区和副…

域权限维持之伪造域控

2022年1月10日,国外安全研究员Kaido发文称发现了一种新的伪造域控方式,安全研究员只需要新建一个机器账户,然后修改机器账户的UserAccountControl属性为8192。活动目录就会认为这个机器账户就是域控,然后就可以使用这个新建的机器…

STM32多功能交通灯系统:从原理到实现

一、功能说明 本交通灯系统采用先进的stm32f103c8t6微处理器为核心控制单元。系统设置东南西北四个方向各配置两位数码管,用以精准展示5至99秒的时间范围,并且允许用户根据实际需求进行灵活调整。 在信号灯配置方面,每个方向均配备左转、直…

在进行JD(京东)电商API大数据采集,针对商品详情数据、SKU数据以及价格分析时,关键是数据的准确性、完整性和分析的深度

一、项目背景 网上购物已经成为大众生活的重要组成部分。人们在电商平台上浏览商品并购物,产生了海量的用户行为数据,用户对商品的评论数据对商家具有重要的意义。利用好这些碎片化、非结构化的数据,将有利于企业在电商平台上的持续发展&…

已成功见刊检索的国际学术会议论文海报展示(2)

【先投稿先送审】第四届计算机、物联网与控制工程国际学术会议(CITCE 2024) 大会官网:www.citce.org 时间地点:2024年11月1-3日,中国-武汉 收录检索:EI Compendex,Scopus 主办单位:四川师范…