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


    前言

    很多人提到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响应时间图表,这个监听器将请求响应时间以折线图的方式展示出来

    部分效果如下图


     

     

     

     

    作  者: 兜里有糖 

    出  处:微信公众号:自动化软件测试平台

    版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接

  • 相关阅读:
    Redis的发布订阅
    Redis的事务
    Redis的持久化下
    Redis的持久化上
    Redis数据类型之Redis有序集合Zset(sorted set
    Redis数据类型之Redis哈希(Hash)
    Redis数据类型之Redis集合(Set)
    LeetCode#53-最大子序和
    LeetCode#442-数组中的重复数据
    LeetCode#1014-最佳观光组合
  • 原文地址:https://www.cnblogs.com/testfan2019/p/14277992.html
Copyright © 2020-2023  润新知