news 2026/4/3 3:12:04

一文教你学会数据库压力测试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一文教你学会数据库压力测试

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

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

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

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

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

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

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

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

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

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

环境准备
查看数据库版本

使用navicat查看数据库版本

下载驱动:
地址:https://dev.mysql.com/downloads/

下载成功后放入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响应时间图表,这个监听器将请求响应时间以折线图的方式展示出来

部分效果如下图

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/30 17:02:31

基于单片机的电冰箱温度控制设计

**单片机设计介绍,基于单片机的电冰箱温度控制设计 文章目录一 概要二、功能设计设计思路三、 软件设计原理图五、 程序一 概要 基于单片机的电冰箱温度控制设计是一个结合了硬件与软件技术的综合性项目,旨在实现对电冰箱内部温度的精确控制,…

作者头像 李华
网站建设 2026/3/14 14:45:30

5751017-A DST452调制解调器

5751017-A DST452 调制解调器产品概述 DST452 是一款工业级数字通信调制解调器,主要用于过程控制系统和分布式控制系统(DCS)之间的可靠数据传输。它能够在长距离或复杂电磁环境下,确保数字信号稳定传输。主要功能数据调制/解调&am…

作者头像 李华
网站建设 2026/3/24 19:20:52

网络安全技术知识图谱:一张图讲透核心领域与系统构建路径

前言 网络安全技术是保障网络安全的重要手段,以下是一些常见的网络安全技术: 防火墙技术:防火墙是一种网络安全设备,可以对网络流量进行过滤和控制,防止未经授权的访问和攻击。入侵检测系统(IDS&#xff…

作者头像 李华
网站建设 2026/3/24 12:46:47

AI辅助代码审查:测试生成工具——软件测试的智能革命

AI在软件测试中的崛起 随着人工智能技术的飞速发展,软件测试行业正经历一场深刻变革。2026年,AI已从辅助工具演变为测试流程的核心驱动力,尤其在代码审查和测试生成领域。据统计,全球AI测试工具市场在2025年突破$50亿美元&#x…

作者头像 李华
网站建设 2026/3/28 4:09:05

Java反射利器:Apache Commons BeanUtils详解

Apache Commons BeanUtils 是 Apache Commons 项目中的一个 Java 工具库,主要用于 简化 JavaBean 的操作,特别是通过 反射(Reflection) 动态读取、设置、复制和操作 JavaBean 的属性。🧰 一、核心功能 1. 动态读写 Jav…

作者头像 李华
网站建设 2026/3/14 12:09:15

‌2026年测试工具排行榜:Selenium跌出前三,它才是新王者

新王者已至,Selenium时代终结‌2026年,软件测试领域迎来结构性颠覆。‌Selenium正式跌出主流自动化工具前三甲‌,其市场份额被‌Playwright‌、‌Testim‌与‌Cypress‌三者瓜分,其中‌Playwright以AI增强型跨端自动化能力成为新王…

作者头像 李华