測(cè)試數(shù)據(jù)庫(kù)的穩(wěn)定性和性能竟如此簡(jiǎn)單
概要說(shuō)明
使用 Jmeter來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行壓測(cè),可以有效測(cè)試數(shù)據(jù)庫(kù)的穩(wěn)定性和性能。相比用代碼實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的壓測(cè)來(lái)說(shuō),Jmeter更簡(jiǎn)單,方便,可操作性更好。
操作步驟
1.選擇測(cè)試計(jì)劃,添加架包mysql-connector-java-5.1.12-bin.jar到路徑下,用于數(shù)據(jù)庫(kù)MySql的讀取,.jar包在Jmeter的Lib路徑下。

2.添加線程組,右擊測(cè)試計(jì)劃->添加->Threads(Users)->線程組;

配置線程數(shù)為5,循環(huán)次數(shù)為1

3.添加HTTP Cookie Manager,右擊線程組->添加->配置元件->HTTP Cookie管理器;

打開Http Cookie管理器,參照接口文檔填寫好Cookie信息;

4.添加HTTP信息頭管理器,右擊線程組->添加->配置元件->HTTP信息頭管理器;

打開Http信息頭管理器,參照接口文檔寫好header信息

5.添加循環(huán)控制器,右擊線程組->添加->邏輯控制器->循環(huán)控制器;

備注:設(shè)置循環(huán)次數(shù)為10000次,可以更具實(shí)際需求來(lái)設(shè)置循環(huán)次數(shù)

6.添加計(jì)數(shù)器,右擊循環(huán)控制器->添加->配置元件->計(jì)數(shù)器;

備注:
啟動(dòng):變量ID的起始值
遞增:表示每次插入數(shù)據(jù)ID+1
最大值:ID的最大值
引用名稱:變量名ID

7.添加JDBC Connection Configuration,右擊循環(huán)控制器->添加->配置元件-> JDBC Connection Configuration;
線程組添加 JDBC Connection Configuration用于配置Jmeter和Mysql的連接;

配置的信息如下:
variable name:必須與JDBC Request中的variable name保持一致
JDBC Driver class:這個(gè)是固定的參考下圖

Datebase URL:是你的數(shù)據(jù)庫(kù)連接地址
Username:數(shù)據(jù)庫(kù)連接用戶名
Password:數(shù)據(jù)庫(kù)連接密碼

8.添加JDBC Request,右擊循環(huán)控制器->添加->Sampler-> JDBC Request;

配置JDBC Request 信息,我這兒是往數(shù)據(jù)庫(kù)test1_cht的表zt-case中插入數(shù)據(jù)
每次字段id遞增1,其實(shí)字段不變
備注:variable name 必須與JDBC Connection Configuration 中的一致

9.添加聚合報(bào)告和查看結(jié)果樹,右擊循環(huán)控制器->添加->監(jiān)聽(tīng)器->聚合報(bào)告,查看結(jié)果樹;


如此,就可以運(yùn)行查看結(jié)果了。

備注:
本文用的Jmeter3.2的版本,不同的版本可能有略微差別。
一個(gè)實(shí)例
目的:測(cè)試數(shù)據(jù)庫(kù)負(fù)載均衡的策略是否生效
背景:數(shù)據(jù)庫(kù)采用HAProxy做負(fù)載均衡策略,現(xiàn)有兩個(gè)數(shù)據(jù)庫(kù)服務(wù),關(guān)閉其中一臺(tái),HAPRoxy能使另外一臺(tái)數(shù)據(jù)庫(kù)服務(wù)生效
1.設(shè)置線程數(shù)為1,循環(huán)次數(shù)為1

2.在循環(huán)控制器內(nèi)設(shè)置循環(huán)10000次

3.添加三個(gè)JDBC Request,每個(gè)寫一條數(shù)據(jù)插入語(yǔ)句(三個(gè)分開寫是為了方便查看結(jié)果)



4.運(yùn)行查看結(jié)果


5.結(jié)論:與HAProxy監(jiān)控頁(yè)面對(duì)比,結(jié)果一致,說(shuō)明負(fù)載均衡策略生效了
