概要说明
使用 Jmeter来对数据库进行压测,可以有效测试数据库的稳定性和性能。相比用代码实现对数据库的压测来说,Jmeter更简单,方便,可操作性更好。
操作步骤
1.选择测试计划,添加架包mysql-connector-java-5.1.12-bin.jar到路径下,用于数据库MySql的读取,.jar包在Jmeter的Lib路径下。

2.添加线程组,右击测试计划->添加->Threads(Users)->线程组;

配置线程数为5,循环次数为1

3.添加HTTP Cookie Manager,右击线程组->添加->配置元件->HTTP Cookie管理器;

打开Http Cookie管理器,参照接口文档填写好Cookie信息;

4.添加HTTP信息头管理器,右击线程组->添加->配置元件->HTTP信息头管理器;

打开Http信息头管理器,参照接口文档写好header信息

5.添加循环控制器,右击线程组->添加->逻辑控制器->循环控制器;

备注:设置循环次数为10000次,可以更具实际需求来设置循环次数

6.添加计数器,右击循环控制器->添加->配置元件->计数器;

备注:
启动:变量ID的起始值
递增:表示每次插入数据ID+1
最大值:ID的最大值
引用名称:变量名ID

7.添加JDBC Connection Configuration,右击循环控制器->添加->配置元件-> JDBC Connection Configuration;
线程组添加 JDBC Connection Configuration用于配置Jmeter和Mysql的连接;

配置的信息如下:
variable name:必须与JDBC Request中的variable name保持一致
JDBC Driver class:这个是固定的参考下图

Datebase URL:是你的数据库连接地址
Username:数据库连接用户名
Password:数据库连接密码

8.添加JDBC Request,右击循环控制器->添加->Sampler-> JDBC Request;

配置JDBC Request 信息,我这儿是往数据库test1_cht的表zt-case中插入数据
每次字段id递增1,其实字段不变
备注:variable name 必须与JDBC Connection Configuration 中的一致

9.添加聚合报告和查看结果树,右击循环控制器->添加->监听器->聚合报告,查看结果树;


如此,就可以运行查看结果了。

备注:
本文用的Jmeter3.2的版本,不同的版本可能有略微差别。
一个实例
目的:测试数据库负载均衡的策略是否生效
背景:数据库采用HAProxy做负载均衡策略,现有两个数据库服务,关闭其中一台,HAPRoxy能使另外一台数据库服务生效
1.设置线程数为1,循环次数为1

2.在循环控制器内设置循环10000次

3.添加三个JDBC Request,每个写一条数据插入语句(三个分开写是为了方便查看结果)



4.运行查看结果


5.结论:与HAProxy监控页面对比,结果一致,说明负载均衡策略生效了
