腳本調試經過以後,接下來就是正式執行過程。一般會選擇window環境或者linux環境執行,二者各有優缺點:前端
1) Windows環境操做界面化,直觀,易上手,但Windows操做系統中軟件佔用機器資源較多,致使資源使用率不高。通常可用於接口的併發邏輯驗證或者應對一些相關檢查,特別是不須要進行過大的負載java
2) Linux環境操做使用命令,結果查看不太方便,但資源利用率相對較高。通常使用在正式性能測試項目中,可支持較高併發。linux
讀者能夠根據項目具體狀況選擇執行環境shell
Windows環境下執行相對簡單。4.2步驟完成以後,能夠直接在Jmeter的GUI上進行操做和修改參數。下面簡單說明一下幾個主要過程apache
腳本編寫調試好以後,拷貝相關的依賴到jmeter,而後啓動。vim
添加線程組、Sampler中的Java請求、後置處理器中的聚合報告等組件。其餘如察看結果樹、定時器等可根據須要自行添加修改線程組名稱,建議和壓測接口對應,見名知意,保存後端
設置參數線程數、Ramp-Up Period、循環次數等必要參數信息bash
1) 線程數:即用戶數,多少個線程就是多少個用戶服務器
2) Ramp-Up Period:線程啓動準備期,即全部線程所有啓動的時間併發
3) 循環次數:勾選「永遠」,則一直執行,直到崩潰或手動中止。
例如:設置100個線程,1S內所有啓動全部線程,循環次數爲100
設置好參數以後,保存腳本
打開Windows資源監控器。執行時,可實時關注資源消耗狀況,如:CPU使用率、內存
打開應用服務器,實時觀察請求日誌和資源監控
準備工做就緒後,就能夠按照測試方案中設計的測試用例來執行。
執行前可打開Jmeter頁面的日誌,方便觀察
開始執行
執行完成後,收集執行結果和監控結果
開始執行新的場景以前,先清除上次的結果數據,避免混亂
獲得Linux機器後,首先要安裝JDK,這是Jmeter可以正常運行的前提
(1) 上傳並解壓jdk壓縮包jdk-8u092-linux-x64.tar.gz,建議把軟件都安裝到/usr/local/下,如/usr/local/jdk1.8.0_92
(2) 用vim編輯器打開/etc/profile文件,在文件尾部加入環境變量的定義
(3) 輸入命令使配置當即生效:source /ext/profile
(4) 查看java版本,有下圖所示即表示安裝成功
注:若是使用的是已經配置好的Linux機器,經過java -version確認JDK安裝成功便可
在Windows下生成腳本,而且調試經過,保存腳本至Jmeter工具相關目錄下,可自行定義:建議放在bin目錄下
把Jmeter工具和腳本一塊兒壓縮,而後上傳壓縮包(rz命令,或FileZilla等工具)至壓測Linux機器,並解壓(unzip)
在Linux環境下,則須要利用jmeter.sh的shell腳本,使用命令行來執行
意思是命令啓動後,不能關閉和退出當前執行頁面及操做,不然執行自動退出
意思是命令啓動後,命令會一直在執行。停止執行須要kill當前命令的進程
執行日誌可在jmeter/bin/jmeter.log下查看
以此命令爲例:sh jmeter.sh -n -t cutPay.jmx -l log/cutPay.jtl
-h 幫助:打印出有用的信息並退出
-n 非GUI模式:在非 GUI 模式下運行 JMeter
-t 測試文件:要運行的 JMeter 測試腳本文件
-l 日誌文件:記錄結果的文件
-r 遠程執行:啓動遠程服務
-H 代理主機:設置 JMeter 使用的代理主機
-P 代理端口:設置 JMeter 使用的代理主機的端口號
sh jmeter.sh -n -t cutPay.jmx -l log/cutPay.jtl,執行完成後
1) 命令將執行結果輸入cutPay.jtl中,把該文件導出至Windows環境下
2) 在Windows系統下打開Jmeter,建立一個線程組,添加監聽器。便可查看結果,以下圖:
1) 執行中可能碰到以下錯誤,表示:jmeter.sh執行權限不夠。
解決方案,賦予執行權限便可
命令:chmod 777 jmeter.sh
執行後,權限爲:-rwxrwxrwx表示,讀寫執行權限均有
2) 使用nohup時,可能未找到這個命令,報錯以下
-bash: nohup: command not found
解決方案:
① 經過which nohup,找到該命令所在目錄
② 打開.bash_profile,添加到PATH下
③ 執行命令:source ~/.bash_profile;使文件生效
Jmeter工具自己支持分佈式壓測,即多臺機器同時執行同一個腳本,而後統計結果。
分佈式壓測,機器分爲控制機(controller)和執行機(slave),有幾個條件必須知足:
1) 修改控制機中apache-jmeter-3.2\bin\jmeter.properties中配置
修改內容爲:remote_hosts=xx,xx表明的是壓力機的ip。若是是多個壓力機,之間使用【,】分隔,以下圖所示
12.7.0.0.1:1099表示當前主機,1099爲設置的端口號,能夠修改
2) 修改執行機中apache-jmeter-3.2\bin\jmeter.properties中配置
修改內容爲:取消server_port=1099前的「#」,端口號和控制機配置文件中保持一致
打開apache-jmeter-3.2\bin\jmeter-server.bat,以下圖所示:
打開apache-jmeter-3.2\bin\jmeter.bat,添加執行腳本,經過運行-->遠程啓動或者遠程所有啓動,便可啓動對應執行機或者所有執行機。運行結束以後,查看聚合報告
Linux環境分佈式配置和Windows環境配置徹底相同,可參考5.3.2進行修改
啓動執行機:&-->表示後臺運行
方法一:./jmeter-server
方法二:./jmeter-server &
方法三:./jmeter-server -Djava.rmi.server.hostname=192.168.85.217 &
方法一:nohup ./jmeter -n -t cutPay.jmx -R 192.168.85.217,192.168.85.216,192.168.85.215,192.168.85.214,192.168.85.213,192.168.85.212 -l log/cutPay.jtl &
方法二:./jmeter -n -t cutPay.jmx -R 192.168.85.217,192.168.85.216,192.168.85.215,192.168.85.214,192.168.85.213,192.168.85.212 -l log/cutPay.jtl