今天這篇主要是使用Jmeter測試數據庫的性能。html
在測試以前,須要準備數據庫文件,即須要有一個table,本例中使用的是MySQL數據庫,已有數據文件:testjmeter(database name)--> testjdbc(table name),主要操做是數據的刪除、插入和查詢。sql
1、打開Jmeter,首先須要添加JDBC Connection Configurations,shell
1. 添加步驟以下圖:數據庫
[圖1:右擊測試計劃-->添加-->配置元件-->JDBC Connection Configuration]函數
2. 添加完畢,須要對JDBC Connection Configuration進行配置,以下圖:post
[圖2:JDBC Connection Configuration的配置,未紅色標出的保持默認]性能
3. 接着創建線程組,由於這裏有刪除、插入和查詢,並且刪除用truncate只須要執行一次便可,因此能夠是順序刪除 -->插入 -->查詢,因此這裏把刪除的操做放在setUp Thread Group裏,插入放在普通的線程組裏,查詢放在tearDown Thread Group裏(注:truncate是刪除表中全部數據,比delete刪除的操做的更快).測試
(1)truncate操做,在setUp Thread Group下創建JDBC Request,如圖:線程
[圖3:右擊setUp Thread Group-->添加-->Sampler-->JDBC Request]htm
[圖4:JDBC Request_truncate操做的設置]
(2)insert操做,在Group下創建JDBC Request(創建方法同圖3),
[圖5:創建JDBC Request]
[ 圖6:函數助手的使用]
(3)select操做,在tearDown Thread Group下創建JDBC Request(創建方法同圖3).
[圖7:JDBC Request_select操做的設置]
(4)這裏若是不須要設置postprocessor觀察數據,能夠直接添加監聽器運行便可,可是這裏又添加了一個後期處理器BeanShell PostProcessor。用來把查詢的結果顯示在log上,
[圖8:右擊JDBC Request-->添加-->後期處理器-->BeanShell PostProcessor]
[圖9:beanshell postprocessor的編寫]
(5)點擊運行,結果如圖:
[圖10:運行結果]
2、若是須要測試兩個數據庫裏面的文件,只須要再添加一個JDBC Connection Configuration,再添加JDBC Request便可,注意JDBC Request裏面的variable name必定要選擇須要的數據庫的JDBC Connection Configuration上面設置的Variable name。
下面截圖的數據文件:testjmeter(database name)--> Myclass(table name),不是否是同一個數據庫,只須要改變數據配置中的數據庫名字便可,這裏示例的是同一個數據庫,原理相同(其實只有不一樣的數據庫時才須要不止一個JDBC Connection Configuration文件,若是屬於同一個數據庫,只須要在JDBC Request中把sql語句的表名改變便可)
[圖11:第二個表的JDBC Connection Configuration的配置]
[圖12:JDBC Request的配置,注意相對應的variable name]