6. 建立數(shù)據(jù)庫測試計(jì)劃
如何創(chuàng)建一個(gè)基本的測試計(jì)劃來測試數(shù)據(jù)庫服務(wù)器禀晓。您將創(chuàng)建 50 個(gè)用戶,每個(gè)用戶向數(shù)據(jù)庫服務(wù)器發(fā)送 2 個(gè) SQL 請求肥荔,執(zhí)行測試100次。因此乏德,請求總數(shù)為(50 個(gè)用戶)x(2 個(gè)請求)x(重復(fù) 100 次)= 10'000 個(gè) JDBC 請求冤吨。要構(gòu)建測試計(jì)劃呻右,您將使用以下元素:線程組、JDBC 請求舅列、摘要報(bào)告肌割。
6.1 添加用戶
1)? ?添加一個(gè)線程組元素。線程組告訴 JMeter 你想模擬的用戶數(shù)量帐要,用戶應(yīng)該多久發(fā)送一次請求把敞,以及他們應(yīng)該發(fā)送多少請求。
繼續(xù)添加 ThreadGroup 元素榨惠,首先選擇 Test Plan奋早,單擊鼠標(biāo)右鍵以獲取Add菜單盛霎,然后選擇?Add??→??ThreadGroup。
您現(xiàn)在應(yīng)該在測試計(jì)劃下看到線程組元素耽装。如果您沒有看到該元素愤炸,則通過單擊“測試計(jì)劃”元素展開“測試計(jì)劃”樹。
2)? 接下來掉奄,您需要修改默認(rèn)屬性规个。如果尚未選擇樹中的線程組元素,請選擇它挥萌。您現(xiàn)在應(yīng)該在 JMeter 窗口的右側(cè)看到線程組控制面板(參見下面的圖 6.1)
圖 6.1绰姻。具有默認(rèn)值的線程組
3)? ?首先為我們的線程組提供一個(gè)更具描述性的名稱。在名稱字段中引瀑,輸入JDBC?Users。
您將需要一個(gè)有效的數(shù)據(jù)庫榨馁、數(shù)據(jù)庫表和對該表的用戶級訪問權(quán)限憨栽。在此處顯示的示例中,數(shù)據(jù)庫是“?cloud?”翼虫,表名是“?vm_instance?”屑柔。
接下來,將用戶數(shù)增加到50珍剑。
在下一個(gè)字段 Ramp-Up Period 中掸宛,保留10?秒的值。該屬性告訴 JMeter 在啟動每個(gè)用戶之間延遲多長時(shí)間招拙。例如唧瘾,如果您輸入 10 秒的 Ramp-Up Period,JMeter 將在 10 秒結(jié)束時(shí)完成啟動所有用戶别凤。因此饰序,如果我們有 50 個(gè)用戶和 10 秒的 Ramp-Up Period,那么啟動用戶之間的延遲將為 200 毫秒(10 秒 / 50 個(gè)用戶 = 每個(gè)用戶 0.2 秒)规哪。如果您將該值設(shè)置為 0求豫,那么 JMeter 將立即啟動您的所有用戶。
最后诉稍,在 Loop Count 字段中輸入值100 蝠嘉。此屬性告訴 JMeter 重復(fù)測試多少次。要讓 JMeter 重復(fù)運(yùn)行您的測試計(jì)劃杯巨,請選中 Forever 復(fù)選框蚤告。
有關(guān)已完成的 JDBC 用戶線程組,請參見圖 6.2舔箭。
圖 6.2罩缴。JDBC 用戶線程組
6.2 添加 JDBC 請求
首先選擇JDBC用戶元素蚊逢。單擊鼠標(biāo)右鍵以獲取Add菜單,然后選擇Add??→??Config Element??→??JDBC Connection?Configuration箫章。
設(shè)置以下字段(假設(shè)我們將使用名為“cloud”的 MySQL 數(shù)據(jù)庫):
屏幕上的其他字段可以保留為默認(rèn)值烙荷。
JMeter使用控制面板中指定的配置設(shè)置創(chuàng)建數(shù)據(jù)庫連接池。該池在 JDBC 請求中的“變量名”字段中引用檬寂≈粘椋可以使用幾個(gè)不同的 JDBC 配置元素,但它們必須具有唯一的名稱桶至。每個(gè) JDBC 請求都必須引用一個(gè) JDBC 配置池昼伴。多個(gè) JDBC 請求可以引用同一個(gè)池。
圖 6.3镣屹。JDBC 配置
然后圃郊,選擇這個(gè)新元素來查看它的控制面板(見圖 6.4)。
圖 6.4女蜈。JDBC 請求
在我們的測試計(jì)劃中持舆,我們將發(fā)出兩個(gè) JDBC 請求。第一個(gè)是“VM Running”的虛擬機(jī)實(shí)例伪窖,第二個(gè)是“Expunging”虛擬機(jī)實(shí)例逸寓。這些如下圖所示。
JMeter 按照請求順序發(fā)送請求覆山。
首先編輯以下屬性(參見圖 6.5):
圖 6.5竹伸。第一個(gè) SQL 請求的 JDBC 請求
接下來,添加第二個(gè) JDBC 請求并編輯以下屬性(參見圖 6.6):
圖 6.6簇宽。第二個(gè)請求的 JDBC 請求
6.3 添加監(jiān)聽器以查看/存儲測試結(jié)果
您需要添加到測試計(jì)劃的最后一個(gè)元素是Listener勋篓。此元素負(fù)責(zé)將 JDBC 請求的所有結(jié)果存儲在文件中并顯示結(jié)果。
選擇JDBC Users元素并添加一個(gè)摘要報(bào)告偵聽器(添加?→?偵聽器?→?摘要報(bào)告)晦毙。
圖 6.7生巡。圖表結(jié)果監(jiān)聽器