首页 > 其他分享 >JDBC Connection Configuration+JDBC Request

JDBC Connection Configuration+JDBC Request

时间:2024-03-22 16:59:43浏览次数:24  
标签:控制器 jdbc 数据库 Request Connection JDBC 添加 性能

使用场景

  • 针对数据库做性能测试
  • 获取数据库表内数据关联使用

性能测试背景

  • 高并发访问:数据库系统在高并发访问情况下可能遇到性能瓶颈,如响应时间延长、连接耗尽等。通过压测可以评估数据库在高并发负载下的性能表现。
  • 复杂查询:某些复杂查询可能会对数据库性能造成影响,例如涉及大量数据的连接查询、多表关联查询、聚合查询等。通过压测可以评估这些复杂查询的执行效率。
  • 事务处理:数据库中的事务处理对性能影响较大,尤其是在并发情况下。压测可以模拟并发事务处理和事务提交的情况,以评估数据库对事务处理的支持能力。
  • 数据量增长:随着数据量的增长,数据库的性能可能会受到影响,例如查询速度变慢、索引效率下降等。通过压测可以模拟大规模数据量下的性能情况。
  • 存储过程和触发器:如果数据库中包含存储过程、触发器等复杂逻辑,压测可以评估这些逻辑对数据库性能的影响。
  • 性能调优:压测数据库也是为了评估数据库的性能瓶颈,找到优化点,进行性能调优,提高数据库的响应速度和并发处理能力。

jmeter配置执行

前置操作,下载导入依赖包

下载:mysql-connector-j-8.3.0.jar,放置到jmeter\lib\ext目录下
注:测试不同的数据库下载不同的jar包引入

建立数据库连接,JDBC Connection Configurationimage.png

常见的数据库连接URL和驱动

数据库 驱动 URL
MySQL com.mysql.jdbc.Driver jdbc:mysql://host:port/
PostgreSQL org.postgresql.Driver jdbc:postgresql:
Oracle oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:user/pass@//host:port/service
sqlServer com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:sqlserver://host:port;databaseName=databaseName

对数据库执行具体操作,配置JDBC Request

调用存储过程:
  • Querey Type选择Callable Starement
  • SQL语句中变量使用“?”进行占位,在parameter values填写变量值,对应在parameter types中写明变量值类型(例如varvhar,integer,timestamp)

image.png
查询数据库验证结果或添加断言
image.png

简单查询语句
  • Querey Type选择Select Starement

image.png

进阶讲解JDBC Request响应数据使用

Variable names

先说概念,Variable names用于填写响应数据列名对应可供调用的变量名称,使用英文“,”隔开,需要有跳过的列名留空占位即可
添加调试取样器来实测一下,提取到的数据可以用于后续接口直接调用,例如:${redpacketid_9}===>738
image.png

配合循环控制器简单使用
  • 添加循环控制器和计数器
  • 添加http请求来实测变量是否有效
  • ${__V()}:jmeter中__V是用于执行变量名表达式,返回执行结果,通俗来讲就是,变量名里面嵌套另一个变量,当直接使用${redpacketid_${num}}时,jmeter运行会出现报错,这个时候就需要使用__V函数,例如:${_V(redpacketid${num})}

image.png

配合ForEach控制器简单使用
  • 添加ForEach控制器
  • 添加http请求来实测变量是否有效
  • 注:ForEach控制器即for循环,开始循环字段和结束循环字段可以不填写,最多把变量轮询1次

image.png

Result variable name

同样先说概念,Result variable name用于接收响应数据的自定义变量名称,将所有的结果组合成一条数组
通过调试取样器观察实际效果
image.png
添加正则表达式提取器提取result中指定数据,注意需要选择JMeter Variable Name to use+自定义变量名
image.png

配合循环控制器简单使用
  • 添加循环控制器、计数器和http请求查看实际效果

image.png

配合ForEach控制器简单使用
  • 添加ForEach控制器和http请求查看实际效果

image.png

标签:控制器,jdbc,数据库,Request,Connection,JDBC,添加,性能
From: https://www.cnblogs.com/cai11/p/18089830

相关文章

  • JDBC详解
    文章目录JDBC快速入门获取数据库连接4种方式方式一:获取Driver实现类对象方式二:使用反射动态加载方式三:使用DriverManager替换Driver方式四:使用DriverManager自动完成注册ResultSet结果集代码示例Statement和PreparedStatement预处理机制PreparedStatement代码封装J......
  • 7*24h新闻自动发送至微信(requests+pywinauto)
    7*24h新闻自动发送至微信(requests+pywinauto)1.爬取新闻列表2.发送至微信指定联系人1.爬取新闻列表目标地址:https://kuaixun.eastmoney.com/获取新闻列表importtime,requests,jsonimportpandasaspdsession=requests.session()headers={'User-Agent'......
  • 开源一个教学型分库分表示例项目 shardingsphere-jdbc-demo
    在笔者心中,消息队列,缓存,分库分表是高并发解决方案三剑客。分库分表之所以被广泛使用,因为工程相对简单,但分库分表并不仅仅是分片,还是需要考虑如何扩缩容(全量同步、增量同步、数据校验等)。因此笔者做了一个教学型分库分表示例项目,计划将分库分表的技术体系都实际演示一遍。ht......
  • Requests请求方式有那些吗?这篇就够了
    Requests请求方式有那些吗?这篇就够了使用Python的requests库,您可以进行多种类型的HTTP请求.以下是一些常见的请求方式:GET请求:response = requests.get(url)POST请求:response = requests.post(url, data=data)PUT请求:response = requests.put(url......
  • requests.post传的data如果是直接使用python dict封装,有些服务端接收不了这种数据类型
    平时在自己的php项目里,使用dict方式组装data,然后requests.post,一点问题都没有。但是调了后端一个java的微服务接口,结果就一直报错422: 最后问了一下开发,得到提示“python好像还有个毛病,python的json对象转字符串的时候,转出来的字符串不是标准json字符串,还要做个字符串处理,变成......
  • python requests.post Max retries exceeded with url 报错
    python requests.post  Maxretriesexceededwithurl 报错 importrequestsfromrequests.adaptersimportHTTPAdapterfromrequests.packages.urllib3.util.retryimportRetrysession=requests.Session()retries=Retry(total=5,backoff_factor=0.1,st......
  • opengauss-jdbc问题整理
    opengauss-jdbc问题整理(更新中)问题1jdbc批量执行insert语句时返回结果不符合Springjpa预期问题描述:jdbc执行查询时,可以使用preparestatment.executeBatch()方法批量执行一组sql语句,该方法返回为int[]int型数组变量,含义是批量执行的每个sql语句更新的数据行数。......
  • npm安装ionic出现异常:request to https://registry.npm.taobao.org/@ionic%2fcli fail
    异常: 异常是淘宝镜像过期了,现在淘宝镜像从https://registry.npm.taobao.org/换成了 https://registry.npmmirror.com查看npm的配置,查看淘宝镜像地址npmconfiglist 更换镜像地址npmconfigsetregistryhttps://registry.npmmirror.com再次运行ionic的安装命令成......
  • Cannot resolve com.microsoft.sqlserver:sqljdbc4:4.0解决方案
    问题:<dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version>4.0</version></dependency>爆红解决方案1手动下载jar包MavenRepository:com.microsoft.sqlserver»sqljdbc4»4.0......
  • zhipuai的GLM-4模型API访问出现错误: ConnectError: TLS/SSL connection has been clo
    1简介访问zhipuai的GLM-4模型的API时,挂上梯子后访问失败,显示ConnectError:TLS/SSLconnectionhasbeenclosed(EOF)(_ssl.c:1131)报错信息如下{ "name":"ConnectError", "message":"TLS/SSLconnectionhasbeenclosed(EOF)(_ssl.c:1131)",......