最新动态
10分钟学会数据库压力测试
2024-11-03 08:30

很多人提到jmeter时,只会说到jmeter进行接口自动化或接口性能测试,其实jmeter还能对数据库进行自动化操作。

10分钟学会数据库压力测试

个人常用的场景有以下

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

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

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

大家都知道,在逛淘宝/天猫等电商平台时,页面显示的数据一定要及时的呈现,否则会影响用户体现,所以对数据库的性能测试就必不可少。本文主要通过对XXXX订单系统的订单数进行自动化查询和数据库查询速度进行压力测试。

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

  • 如何使用jmeter连接数据库
  • 如何使用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’

1、数据库配置

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

  • Variable Name Bound to Pool模块配置

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

  • Connection pool configuration模块配置

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

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

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

③ Time Between Eviction Runs (ms):

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

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

  • Database Connection Configuration模块配置

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

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

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

③ Username:用户名

④ Password:密码

2、数据库请求

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的变量中的信息

3、Query type(SQL语句类型

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

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

……其他类型可自行百度

1、初级实践-数据库查询

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

脚本结构

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

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

需要注意的配置

  • 并发数的设置
  • 添加View Results Tree时,为了避免对性能测试结果造成影响,需要设置为仅展示错误信息
  • 添加Graph Results图形结果,这个监听器展示接口请求响应时间的平均值、中值、偏离值、吞吐量
  • 添加Response Time Graph响应时间图表,这个监听器将请求响应时间以折线图的方式展示出来

部分效果如下图

最后 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦


转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作

    以上就是本篇文章【10分钟学会数据库压力测试】的全部内容了,欢迎阅览 ! 文章地址:http://houdi.cs-ej.cn/quote/273.html 
     行业      资讯      企业新闻      行情      企业黄页      同类资讯      网站地图      返回首页 成事e家移动站 http://houdi.cs-ej.cn/mobile/ , 查看更多