Jmeter支持鏈接數據庫,對SQL語句進行性能測試,JDBC Connetction Configuration用來配置鏈接信息。java
一、把JDBC驅動的jar包引入測試計劃mysql
Jmeter要鏈接mysql數據庫,首先得下載mysql jdbc驅動包,這裏使用的是mysql-connector-java-5.1.7-bin.jarsql
選擇測試計劃——瀏覽——jar包路徑——選中mysql-connector-java-5.1.7-bin.jar——導入便可數據庫
二、設置JDBC鏈接池(在JDBC Connetction Configuration元件中進行設置)服務器
接下來新建一個線程組,右擊線程組——配置元件——選擇JDBC Connetction Configuration分佈式
配置信息以下:性能
Variable Name for created pool(鏈接池名稱):必定要寫,JDBC Request經過此名稱來獲取鏈接池中的鏈接;能夠隨意填寫,但最好具備業務意義,至少能讓你秒懂。還有一條,在整個測試計劃中此名稱最好惟一,若是有多個JDBC Connetction Configuration,且名稱重複,則Jmeter沒法去作選擇。測試
Max Number of Connection(鏈接池最大鏈接數):這裏設置爲10ui
Database URL(數據庫鏈接地址):jdbc:mysql://IP地址:3306/test?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true編碼
?前爲固定寫法,IP地址填寫數據庫服務器的IP,3306爲默認端口號,test表示要鏈接的數據庫名稱,
useUnicode=true表示是否使用Unicode字符集,characterEncoding=utf8表示當Unicode設置爲true時,指定字符編碼使用UTF-8
allowMultiQueries=true表示容許多條語句查詢
JDBC driver class選擇com.mysql.jdbc.Driver
Username和Password爲數據庫的帳號密碼
其它參數按照下圖設置便可
三、添加JDBC Request
接下來再右擊線程組——取樣器——選擇JDBC Request
配置信息以下:
Variable Name of Pool declared in JDBC Connection Configuration中的變量名必定要與JDBC Connetction Configuration中的Variable Name for created pool(鏈接池名稱)保持一致
Query Type(SQL語句類型):
Select Statement:可執行查詢語句
Update Statement:可執行更新操做,包括插入和修改
Callable Statement:對應JDBC規範中的CallableStatement對象,它爲全部的DBMS提供了一種以標準形式調用存儲過程的方法,白話就是能夠調用存儲過程,也就是能夠有入參,有佔位符,總之支持SQL語句的增刪改查。
後面的再也不贅述
Query中可填寫SQL語句
四、點擊【啓動】,請求發送後,點擊察看結果數的響應數據
前期準備:
一、負載機(最少一臺)建議使用Linux,安裝好JDK、Jmeter,並配置好環境變量
這裏使用的是1.8JDK和Jmeter5.0,如何配置環境變量不在此贅述。
環境變量配置好後記得source /etc/profile,根目錄下執行jmeter,出現下圖表示配置成功
二、分別修改contrller和agent的配置文件jmeter.properties,找到server.rmi.ssl.disable取消註釋,並改成server.rmi.ssl.disable=true,以下圖所示:
修改完成後,回到contrller的jmeter.properties中,添加遠程agent的IP地址和端口號(默認爲1099,可在agent的配置中文件更改,更改server_port便可),以下圖所示:
啓動agent的服務,執行命令:jmeter-server,下圖表示啓動成功
打開contrller的jmeter,創建腳本,選擇運行——遠程啓動——負載機,這裏報錯鏈接超時,是因爲防火牆未關閉或測試controller和agent不在同一個網段會影響遠程鏈接。
解決辦法:關閉agent的防火牆。contrller和agent在同一網段,好比選擇了同一個WIFI,配置同一個DNS等方法解決。
因爲contrller和agent不在同一網段因此沒法演示,感興趣的朋友可以使用本地虛擬機試試~
注意:
一、分佈式配置成功的小夥伴兒,在使用分佈式的壓測過程當中會發現,察看結果樹中無響應數據,Don't worry,這是正常現象,由於察看結果樹在壓測過程當中是浪費性能的,最好禁用掉。因此在使用分佈式時,Jmeter去掉了響應數據(默認不展現,但可修改配置文件,在此不作說明)
注意:
二、若是腳本中使用了參數化文件,負載機一樣位置也須要有一個相同的參數化文件,放在bin目錄下便可;
關於nogui的經常使用命令見下圖:
示例:jmeter -n -t bugfree.jmx -r -l ./bugfree.jtl -e -o ./bugfree -j bugfree.log
釋義:使用nogui模式進行分佈式壓測,腳本bugfree.jmx路徑爲當前路徑,並在當前路徑生成結果文件bugfree.jtl、測試報表(路徑爲bugfree)和日誌文件bugfree.log