jenkins +Jmeter 完成分散式效能測試
1.Jmeter 壓測機器配置。
下載Jmeter 版本:https://jmeter.apache.org/download_jmeter.cgi 我下的是5.1.1
將下載後的版本進行解壓。
執行 ..\apache-jmeter-5.1.1\bin\jmeter.bat
如果沒有安裝Java環境會提示安裝Java環境
Jmeter 5.1.1 版本要求Jave 8 +,所以需要安裝Jave 8以上的版本。
安裝後Java 環境後再次執行 Jmeter.bat 就可以開啟Jmeter GUI 介面了。如下:
2.Jmeter 分散式遠端執行機器配置
執行 Jemter-Server.bat
如果出現如下錯誤,是因為沒有找到 rmi_keystore.jks 檔案,預設遠端連結是需要通過ssl 通道的。
如果對於安全級別沒有要求,則可以設定不需要通過SSL連線遠端Server。
需要修改jmeter.properties 檔案,將server.rmi.ssl.disable=true
# Set this if you don't want to use SSL for RMI
server.rmi.ssl.disable=true
如下:
這樣執行 Jmeter-server.bat 就不會出現錯誤了。
3.配置控制機器
遠端機器配置好之後,在控制機器上進行設定:
修改jmeter.properties 檔案,找到 Remote hosts and RMI configuration 段,在remote_hosts 後面新增遠端執行機
# Remote hosts and RMI configuration
#---------------------------------------------------------------------------
# Remote Hosts - comma delimited
#remote_hosts=127.0.0.1
remote_hosts=jp-lsr-montage:1099,Montage-t2-ck:1099,montage-test3:1099
上述配置完成後,在控制機器上啟動Jmeter.bat進行測試。
選擇一個專案,使用run->Remote Start 中的遠端機器,一臺一臺測試看執行機器是否就緒。
如果執行機器正常執行,我們的Jmeter 部分就配置好了。
4.Jenkins 配置
1. 新建一個Freestyle project 專案。
2. 配置Office 365 Connector Tab
2.1 選擇 This project is parameterized
設定 num_threads 和 filename 變數。
2.2選擇 Restict where this project can be run
設定指令碼執行的機器,對於我們來書就是控制機器名稱 .我使用了 jp-lsr-montage 機器。
需要將這個機器配置為Jenkins Agent。
3. 配置Build
我們上面配置了連個build 引數,它們的使用地方就在Build 的命令中,通過這兩個引數我們可以在每次build 的時候來指定執行檔案和執行緒數。
對於windows batch command 引數格式:%branch% linux shell:$branch git 引用引數:${branch}
通過上面的設定可以將Build 引數傳遞給Jmeter 命令列,要在Jmeter 執行時從命令列讀取引數,還需要修改Jmeter 工程檔案。
如下:在需要使用變數的地方通過 ${__P(num_threads,1)} 來讀取命令列中的變數。
通過命令列傳遞引數
-G, --globalproperty (argument)[=(value)]
傳送給server的全域性屬性,可以把屬性及值填入global.properties,之後使用-Gglobal.properties
例子: jmeter -n -t c:\Jmeter\montage\EventApply.jmx -o result -l result.jtl -e -r -Gnum_threads=3
Jmeter 介面的設定:
4.配置Post-Build Actions
需要安裝HTML Publisher外掛。
配置Publish HTML reports
再安裝一個外掛performance
配置 Publish Performance test result report
5.Jenkins Agent 配置
我們在2.2 中使用 jp-lsr-montage這個Agent , 那麼如何配置Agent 呢?
Jenkins -->Mange Jenkins --> Mange Nodes
選擇New node
、
進行如下配置,並儲存:
2.登入jp-lsr-montage 機器,訪問Jenkins 伺服器。
選擇 Agent jp-lsr-montage ,選擇launch ,這樣就配置好 jp-lsr-montage Agent了。
如果擔心Agent機器重啟後Agent 離線,可以考慮將Agent 安裝為 Windows Service。 具體安裝方法可以參考Jenkins Agent 配置。
&n