当前位置: 首页 > news >正文

Jmeter的JDBC数据库连接

Jmeter的JDBC数据库连接

  • 一、jmeter的JDBC数据库连接(java database connection)
    • 1.1 Jmeter写数据库得查询脚本
      • 1.1.1 前提
      • 1.1.2 配置元件
      • 1.1.3 JDBC连接请求
      • 1.1.4 提取数据
  • 二、jmeter聚合报告

一、jmeter的JDBC数据库连接(java database connection)

性能测试中,需要使用大量的测试数据,我们可以通过数据库中获取数据,进行性能测试。

* jmeter响应结果里看到响应体的数据,实际上开发从数据库获取的,通过接口返回给前端进行调用* 接口测试中,也可以通过数据库查询真实且大量的数据,去处理接口数据关联* 性能测试中,也需要大量的测试数据,都可以通过连接数据库查询得到

1.1 Jmeter写数据库得查询脚本

1.1.1 前提

jmeter中添加数据库的驱动jar包

* 获取下载地址:https://mvnrepository.com,根据mysql版本下载对应的jar包* 把jar包放到jmeter的lib/ext文件夹下,重启jmeter

1.1.2 配置元件

添加一个JDBC的配置元件,进行配置数据库相关的信息

* 自定义一个连接池的名称,如:test,用来关联jdbc请求和连接池配置* URL:jdbc:mysql://IP:端口/项目名
根据自己项目情况进行填写* JDBC Driver class:选择com.mysql.jdbc.driver* user password:根据自己项目情况填写

1.1.3 JDBC连接请求

关联连接配置、编写sql语句

  • 添加一个JDBC Requests的取样器,关联链接配置连接池的变量
  • 编写sql语句进行数据库操作如:select * from test_db;

1.1.4 提取数据

提取数据库的结果作为后续接口调用的变量,实现接口关联

  • ① 数据库返回接口有多个值,所以调用的时候,需要用变量名_下标的方式进行调用

* 使用计数器生成一个数字下标:d
* 调用变量的时候。使用mobile_${d},需要使用V函数拼接 变量调用变量
  • ② 可以保存数据库查询结果到文件,便于后续接口测试使用【需要有项目数据库的权限】

1、在jdbc请求的下面,添加一个监听器,叫保存响应到文件2、默认保存路径在bin目录下,也可以指定路径,如:d:\test\result.txt 【可以选择导出txt格式文件】3、导出的文件,使用读取csv文件操作,就可以使用里面的数据了

备注:
如果没有项目的数据库访问权限,或者说,登录的密码是使用md5加密的,无法直接使用,可以保存原始数据到本地数据库sqlite,使用本地数据完成操作

二、jmeter聚合报告

  • 样本:一段时间内的总请求量,注意不是并发量

  • 响应时间相关的数据,单位ms
    平均响应时间:所有响应时间的平均值
    中位数:把响应时间从小到大排列,排到50%的位置响应时间
    90%百分位:把响应时间从小到大排列,排到90%的位置响应时间
    95%百分位:把响应时间从小到大排列,排到95%的位置响应时间
    99%百分位:把响应时间从小到大排列,排到99%的位置响应时间
    最小值:响应时间最小值
    最大值:响应时间最大值
    90、95、99分位的数据差距越小的话,说明接口毛刺越少,性能越平稳

  • 异常率:错误率,如果事务接口里有一个接口失败了,整个事务是失败的,就会被统计到失败率中【行业内标准失败率<=0.1%】

  • 吞吐量:这一段时间内平均的TPS值【没有网络瓶颈的情况,吞吐率=tps】

  • 接受吞吐率和发送吞吐率:网络中每秒发送多少kb的数据
    根据最后两列,可以判断网络是否存在瓶颈【单位KB/s Byte字节数,bit 位比特】

聚合报告中,每一行是一种事务的名称,注意不是一个接口,而是事务名称。如果使用事务控制器,合并多个接口,聚合报告中,只显示这个事务的名称

http://www.lryc.cn/news/582596.html

相关文章:

  • 基于springboot的非遗传承宣传平台
  • 【Mac开发】Mac 应用 Archive 成功后无法打开?
  • 苹果App上架流程:不用Mac也可以上架的方法
  • WPF之命令
  • 【论文阅读】Improving the Diffusability of Autoencoders
  • gloo 多卡训练
  • curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104
  • 开发中如何自定义线程池
  • [1-01-01].第50节:泛型 - 泛型的使用
  • 深入了解linux系统—— System V之消息队列和信号量
  • 自动驾驶的“安全基石”:NVIDIA如何用技术守护未来出行
  • 冷链物流配送中心选址与路径优化模型研究
  • 跨越十年的C++演进:C++23新特性全解析
  • 3423. 循环数组中相邻元素的最大差值 — day97
  • 【PTA数据结构 | C语言版】在顺序表 list 的第 i 个位置上插入元素 x
  • JVM 基础 - 类字节码详解
  • Spring自动装配(xml)
  • Vue、Laravel 项目初始化命令对比 / curl 命令/ CORS 机制总结与案例
  • AlphaEvolve:谷歌的算法进化引擎 | 从数学证明到芯片设计的AI自主发现新纪元
  • UI前端大数据处理挑战与对策:大数据量下的实时数据分析技术
  • CD46.【C++ Dev】list的模拟实现(1)
  • 人体坐姿检测系统开发实战(YOLOv8+PyTorch+可视化)
  • WHIP(WebRTC HTTP Ingestion Protocol)详解
  • 装修水电改造需要注意什么?水电改造有哪些注意事项?
  • 力扣-287.寻找重复数
  • 容器技术入门与Docker环境部署
  • 【佳易王娱乐场儿童乐园会员多项目管理系统软件】从 “手工记账” 到 “智能管理”:儿童乐园会员系统的转型价值
  • Docker实用命令
  • 脚本检测 自启 关闭 重启等 tomcat 可修改成其他程序 结合crontab 每天凌晨1点执行
  • LocalStorage和SessionStorage的区别和应用