10分钟学会数据库压力测试,你敢信?

news2024/10/3 10:32:04

目录

前言

查看数据库版本

下载驱动:

菜单路径

配置

Variable Name Bound to Pool模块配置

Connection pool configuration模块配置

Database Connection Configuration模块配置

菜单路径

Variable Name Bound to Pool

脚本结构

脚本(执行查询语句)

结果

总结


前言

很多人提到jmeter时,只会说到jmeter进行接口自动化或接口性能测试,其实jmeter还能对数据库进行自动化操作。个人常用的场景有以下:

1. 对自动化产生的数据,进行删除

2. 不断修改数据,进行多业务场景测试

……(更多使用场景需要个人根据自己不同的需求去挖掘)

大家都知道,在逛淘宝/天猫等电商平台时,页面显示的数据一定要及时的呈现,否则会影响用户体现,所以对数据库的性能测试就必不可少。

本文主要通过对XXXX订单系统的订单数进行自动化查询和数据库查询速度进行压力测试。

在使用jmeter对数据库进行压力测试之前需要掌握两个基本知识:

1.如何使用jmeter连接数据库 

2.如何使用jmeter执行数据库相关操作命令

环境准备

查看数据库版本

使用navicat查看数据库版本

下载驱动

地址:

下载成功后放入jmeter安装路径的ext文件夹下,并解压

驱动jar文件放到ext文件夹后需要重新启动jmeter才可生效

若没有下载驱动,则运行时报错:Response message: java.sql.SQLException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'

数据库配置信息

Jmeter提供JDBC Connection Configuration用于配置数据库的连接信息

菜单路径

配置

Variable Name Bound to Pool模块配置

Variable name for created pool:创建数据库连接池变量名称

Connection pool configuration模块配置

该模块配置一般使用默认值即可

1. Max Number of Connections: 数据库的最大连接数

2. Max Wait(ms):最大等待时长

3. Time Between Eviction Runs (ms):

4. Auto Commit: 自动提交。有三个选项,true、false、编辑(自己通过jmeter提供的函数设置),默认true,所以修改数据库时会直接真实修改

5.  Transaction Isolation: 事务间隔级别设置,默认default

Database Connection Configuration模块配置

该模块配置主要用于配置数据库的连接信。

1. Database URL:jdbc:mysql://数据库ip/数据库端口/数据库名称

2. JDBC Driver class:驱动名称,下拉选项选择

3. Username:用户名

4. Password:密码

数据库请求

JDBC Request用于执行SQL语句

菜单路径

配置

Variable Name Bound to Pool

Variable name of pool declared in JDBC connection configuration:数据库连接池的变量名称

因为连接数据库是需要在JDBC Connection Configuration中配置好相关连接信息的,然后赋予一个变量名称,那么JDBC Request想要去访问数据库,就必须通过这个配置好的变量名称去连接,所以JDBC Reques就需要通过读取JDBC Connection Configuration的变量中的信息

Query type(SQL语句类型)

Select statement:查询语句,仅支持单条语句

Update statement:修改语句,支持多条语句

……其他类型可自行百度

初级实践-数据库查询

在进行接口性能测试之前,必须先学会基础的接口自动化测试。

脚本结构

添加监听器View Results Tree查看脚本执行结果,脚本结构如下:

脚本(执行查询语句)

结果

进阶实践-数据库查询压力测试

在接口自动化的基础上,配置需要的压测数据,就可以进一步对接口进行性能测试了。

需要注意的配置:

1. 并发数的设置

2. 添加View Results Tree时,为了避免对性能测试结果造成影响,需要设置为仅展示错误信息

3. 添加Graph Results图形结果,这个监听器展示接口请求响应时间的平均值、中值、偏离值、吞吐量

4. 添加Response Time Graph响应时间图表,这个监听器将请求响应时间以折线图的方式展示出来

部分效果如下图

总结

感谢每一个认真阅读我文章的人!!!

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,与我一起学习交流。

 

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

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

相关文章

2.3 IS-IS认证

2.2.3 实验三:IS-IS认证 1. 实验目的  实现IS-IS接口认证 实现IS-IS区域认证实验IS-IS路由域认证2. 实验拓扑 IS-IS认证的实验拓扑如图2-6 图2-6:IS-IS认证 3. 实验步骤 配置IP地址(此处略…

让ChatGPT做当年的高考现代文阅读

最近ChatGPT火出天际,我突发奇想,如果用ChatGPT来做高考现代文阅读会怎样。 于是找到了当年非常火的一篇文章,叫《一种美味》,这个名字大家可能不太熟,但是提到其中一句话,你可能立马就想起来了。 「眼里…

一些NLP术语

一些NLP术语pre-training(预训练)fine-tuning(微调)下游任务Few-shot Learning(少样本学习)Prompt?(自然语言提示信息)二级标题三级标题pre-training(预训练&…

Redis第一讲

目录 一、Redis01 1.1 NoSql 1.1.1 NoSql介绍 1.1.2 NoSql起源 1.1.3 NoSql的使用 1.2 常见NoSql数据库介绍 1.3 Redis简介 1.3.1 Redis介绍 1.3.2 Redis数据结构的多样性 1.3.3 Redis应用场景 1.4 Redis安装、配置以及使用 1.4.1 Redis安装的两种方式 1.4.2 Redi…

字节软件测试岗:惨不忍睹的三面,幸好做足了准备,月薪15k,拿到offer

我今年25岁,专业是电子信息工程本科,19年年末的时候去面试,统一投了测试的岗位,软件硬件都有,那时候面试的两家公司都是做培训的,当初没啥钱,他们以面试为谎言再推荐去培训这点让我特别难受。 …

关于APP下载量提升的技巧

关于APP应用下载量提升,很多人都不是很了解。今天厦门巨神峰小编给大家说下关于APP下载量提升的几个技巧。 一、抓住流行趋势,提升APP下载量 1、利用社交媒体进行推广。社交媒体是当下最流行的推广手段,可以有效的将APP的消息传播到更多的用…

物联网对网页设计和开发的影响

当下从汽车、工业设备、家用电器到安全系统,越来越多的设备已经都连接到了互联网。与此同时,物联网在网页开发方面也有一些重大发展。因企业对于物联网应用需求不断增长,促使更多开发人员和设计人员从事物联网应用的开发和设计。下面我们将带…

Gotify消息推送系统搭建

昨天网友 sincoslong 提到了一个很好的建议: docker 注册表版本别选择 latest 选择具体版本号。 有的新版本,数据库、 php 各种依赖,都升级。小白如果选择最近更新的版本,估计写个 blog 都是记录如何失败的。 虽然有的人也会看…

STM32单片机超声波模块测距

OLED液晶接口电路图超声波模块接口电路图STM32单片机超声波模块测距程序源代码#include "sys.h"#define OLED_RST_Clr() PCout(13)0 //RST#define OLED_RST_Set() PCout(13)1 //RST#define OLED_RS_Clr() PBout(4)0 //DC#define OLED_RS_Set() PBout(4)1 //DC#define…

碰撞检测算法分类

包围形法粗糙检测, 包含以下两种类检测外接圆法轴对齐包围矩形, AABB 碰撞检测算法之包围形法分离轴精细检测 BOX vs PolygonOBBseparating Axis Theorem碰撞检测算法之分离轴定理GJKGJK(Gilbert–Johnson–Keerthi), 相比 SAT 算法&#xff…

Ae 入门系列之一:软件界面与工作流程

Adobe After Efftects(简称为 Ae )可以帮助用户高效且精确地创建无数引人注目的动态图形和震撼人心的视觉效果。利用与其他 Adobe 软件紧密集成和高度灵活的二维和三维合成,并且提供数百种预设的效果和动画,可为影视特效、产品广告…

如何使用COCO数据集,注意事项

COCO数据集可用来训练目标检测,分类,实例分割等。 下面简单说下如何使用这个数据集, 数据集下载可用如下的代码进行,以2017为例。 # Download the image data. cd ./images echo "Downloading MSCOCO train images ...&quo…

轨迹误差评估指标[APE/RPE]和EVO

轨迹误差评估指标[APE/RPE]和EVO1. ATE/APE2. RPE3. EVO3.1 评估指标3.2 使用3.2.1 轨迹可视化3.2.2 APE3.2.3 RPEReference: 高翔,张涛 《视觉SLAM十四讲》视觉SLAM基础:算法精度评价指标(ATE、RPE) 在实际工程中,我…

迁移案例实操:MySQL迁移到DM8由于有248张表存在datetime字段类型,使用dts迁移到达梦报不支持数据类型【附数据对比工具】

本文主要记录MySQL数据迁移到DM8上遇到MySQL源端表存在datetime数据类型时,并且包含datetime数据类型的表达上百张的的情况下,如何完成数据迁移的完整步骤。 1. 解决方法 将MySQL源端表的是datetime数据类型的字段修改为varchar(30)。 2. 处理步骤 &a…

JVM内存结构,Java内存模型,Java对象模型

一.整体方向JVM内存结构是和java虚拟机的运行时区域有关。Java内存模型和java并发编程有关。java对象模型和java对象在虚拟机中的表现形式有关。1.JVM内存结构堆:通过new或者其他指令创建的实例对象,会被垃圾回收。动态分配。虚拟机栈:基本数…

分布式之Paxos共识算法分析

写在前面 分布式共识是分布式系统中的重要内容,本文来一起看下,一种历史悠久(1998由兰伯特提出,并助其获得2003年图灵奖)的实现分布式共识的算法Paxos。Paxos主要分为两部分,Basic Paxos和Multi-Paxos,其中…

Web自动化测试——selenium的使用

⭐️前言⭐️ 本篇文章就进入了自动化测试的章节了,如果作为一名测试开发人员,非常需要掌握自动化测试的能力,因为它不仅能减少人力的消耗,还能提升测试的效率。 🍉欢迎点赞 👍 收藏 ⭐留言评论 &#x1f…

Python文件的操作处理,一看就会

在读取一个文件的内容之前,需要先打开这个文件。在Python程序中可以通过内置函数open()来打开一个文件程序中,并用相关的方法读或写文件文件中的内容以供程序的处理和使用,同时可以将文件看作Python中的一种数据类型。 open(filename, mode‘…

代码随想录 NO43 | Leetcode_139.单词拆分 1.关于多重背包,你该了解这些! 2. 背包问题总结篇!

leetcode139.单词拆分 多重背包 背包问题总结1. 多重背包2.背包问题简单总结2.1 背包递推公式2.2 遍历顺序2.2.1 01背包2.2.2 完全背包139.单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意:…

数据分析思维(七)|漏斗思维

漏斗思维 1、概念 漏斗思维的概念比较简单,所谓的漏斗指的就是层层递减的结构,最终组成一个漏斗样式的模型,而递减的状态是多种业务/产品发展的常态,比如一个线下服装门店,进店的人很多(第一层&#xff09…