性能測(cè)試份蝴,準(zhǔn)備測(cè)試數(shù)據(jù)是一個(gè)重要的環(huán)節(jié)氓轰。
針對(duì)數(shù)據(jù)準(zhǔn)備我們有常用的以下幾種方式:
- 從生產(chǎn)的備用庫(kù)里面同步下來(lái)。
- 自己寫(xiě)存儲(chǔ)過(guò)程腳本批量跑數(shù)據(jù)案糙。
- 利用測(cè)試腳本跑數(shù)據(jù)。
針對(duì)上面第一種方式时捌,是最保持?jǐn)?shù)據(jù)真實(shí)狀態(tài)的(當(dāng)然是要經(jīng)過(guò)脫敏處理的)入录,但針對(duì)沒(méi)有上線的系統(tǒng)蚀同,生產(chǎn)上還沒(méi)有產(chǎn)生數(shù)據(jù)刹孔,這個(gè)就不適用方库。
上面第二種方式邀层,一般是清楚具體的DB表泌绣,各個(gè)表里面關(guān)聯(lián)情況苗沧, 可以寫(xiě)存儲(chǔ)過(guò)程在短時(shí)間內(nèi)造大量的測(cè)試數(shù)據(jù)识樱。
上面第三種方式嚎卫,可以通過(guò)錄制或者編寫(xiě)測(cè)試腳本涌献,達(dá)到跑測(cè)試數(shù)據(jù)的目的卜壕,但編寫(xiě)腳本也需要花費(fèi)一定的時(shí)間。且沒(méi)有上面兩種方式快速。但針對(duì)業(yè)務(wù)流程節(jié)點(diǎn)比較復(fù)雜的洛心,也是一種評(píng)價(jià)很高的處理方式。一般用來(lái)準(zhǔn)備測(cè)試數(shù)據(jù)的居多渔欢,基礎(chǔ)的鋪底數(shù)據(jù)就有點(diǎn)浪費(fèi)時(shí)間韩肝。
下面介紹上面第二種和第三種方式里結(jié)合的一種切威,利用jmeter工具跑mysql測(cè)試數(shù)據(jù)锋谐。
一. jar包準(zhǔn)備
先需要下載對(duì)應(yīng)的jdbc jar包三热,名稱是mysql-connector-java-5.1.30.jar朗徊。把該文件放置jmeter工具 lib下面的ext文件夾下有缆。
二. 啟動(dòng)jmeter
寫(xiě)這個(gè)步驟是因?yàn)椋芏嗤窍却蜷_(kāi)了jmeter,然后才放置的jar包棚壁,要記得重新打開(kāi)下jmeter工具才生效在刺。
三. jmeter 組件添加
添加JDBC Connection Configuration,這個(gè)是確保jmter連接mysql數(shù)據(jù)庫(kù)
這里面有些配置項(xiàng)获讳,但Datebase connection configuration 一定要連接正確累颂,可以看到上面我的URL地址是做了一個(gè)參數(shù)化 。 ${dbAddress} 达布,端口被我打馬賽克了黍聂。
變量的方式可以采取多種樣式。 因?yàn)榈刂分挥幸粋€(gè)匹厘。我選擇的是用戶定義的變量愈诚。如下:
添加一個(gè)JDBC requst sampler酌泰。
我上面放置的是一個(gè)update statement 類型陵刹。
簡(jiǎn)單的放置了一個(gè)insert語(yǔ)句欢嘿。 value值 可以做成參數(shù)化處理际插。 這個(gè)和jmeter平常的參數(shù)化沒(méi)有兩樣框弛〔段妫可以靈活處理指攒,不多敘述。
四. 調(diào)試
想看看是否通過(guò)膝擂。
可以通過(guò)添加 查看結(jié)果樹(shù) 架馋, debug sampler 來(lái)分析
五. 執(zhí)行調(diào)度
因?yàn)槭桥芄潭ǖ臄?shù)據(jù)量,建議使用次數(shù)全闷。自己算好數(shù)據(jù)量叉寂,然后填寫(xiě)對(duì)應(yīng)的參數(shù)值。
六. 補(bǔ)充
使用jmeter工具準(zhǔn)備數(shù)據(jù)的另外一個(gè)好處就是总珠,如果你使用的是jmeter做壓測(cè)屏鳍,那么執(zhí)行場(chǎng)景之前涉及到數(shù)據(jù)恢復(fù)就可以借助jmter來(lái)做。每次執(zhí)行場(chǎng)景前先執(zhí)行下數(shù)據(jù)恢復(fù)的腳本就好局服,避免去打開(kāi)DB或者其他方式操作钓瞭。