8.性能測試執行

腳本調試經過以後,接下來就是正式執行過程。一般會選擇window環境或者linux環境執行,二者各有優缺點:前端

1) Windows環境操做界面化,直觀,易上手,但Windows操做系統中軟件佔用機器資源較多,致使資源使用率不高。通常可用於接口的併發邏輯驗證或者應對一些相關檢查,特別是不須要進行過大的負載java

2) Linux環境操做使用命令,結果查看不太方便,但資源利用率相對較高。通常使用在正式性能測試項目中,可支持較高併發。linux

讀者能夠根據項目具體狀況選擇執行環境shell

1 Windows環境單機執行

Windows環境下執行相對簡單。4.2步驟完成以後,能夠直接在Jmeter的GUI上進行操做和修改參數。下面簡單說明一下幾個主要過程apache

1.1啓動Jmeter並添加組件

腳本編寫調試好以後,拷貝相關的依賴到jmeter,而後啓動。vim

 

添加線程組、Sampler中的Java請求、後置處理器中的聚合報告等組件。其餘如察看結果樹、定時器等可根據須要自行添加修改線程組名稱,建議和壓測接口對應,見名知意,保存後端

 

1.2生成腳本並設置參數

設置參數線程數、Ramp-Up Period、循環次數等必要參數信息bash

1) 線程數:即用戶數,多少個線程就是多少個用戶服務器

2) Ramp-Up Period:線程啓動準備期,即全部線程所有啓動的時間併發

3) 循環次數:勾選「永遠」,則一直執行,直到崩潰或手動中止。

例如:設置100個線程,1S內所有啓動全部線程,循環次數爲100

設置好參數以後,保存腳本

 

1.3資源監控器

打開Windows資源監控器。執行時,可實時關注資源消耗狀況,如:CPU使用率、內存

 

1.4觀測服務器日誌和監控

打開應用服務器,實時觀察請求日誌和資源監控

 

1.5測試場景執行

準備工做就緒後,就能夠按照測試方案中設計的測試用例來執行。

執行前可打開Jmeter頁面的日誌,方便觀察

 

開始執行

1.6測試結果收集

執行完成後,收集執行結果和監控結果

 

開始執行新的場景以前,先清除上次的結果數據,避免混亂

 

2 Linux環境單機執行

2.1安裝JDK

獲得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安裝成功便可

2.2Windows下生成並保存腳本

Windows下生成腳本,而且調試經過,保存腳本至Jmeter工具相關目錄下,可自行定義:建議放在bin目錄下

 

2.3上傳JmeterLinux壓測機

Jmeter工具和腳本一塊兒壓縮,而後上傳壓縮包(rz命令,或FileZilla等工具)至壓測Linux機器,並解壓(unzip)

 

2.4使用命令行啓動執行

Linux環境下,則須要利用jmeter.shshell腳本,使用命令行來執行

  • 前端執行命令:sh jmeter.sh -n -t cutPay.jmx -l log/cutPay.jtl

意思是命令啓動後,不能關閉和退出當前執行頁面及操做,不然執行自動退出

 

  • 後端執行命令:nohup sh jmeter.sh -n -t cutPay.jmx -l log/cutPay.jtl &

意思是命令啓動後,命令會一直在執行。停止執行須要kill當前命令的進程

執行日誌可在jmeter/bin/jmeter.log下查看

 

2.5命令參數說明

以此命令爲例:sh jmeter.sh -n -t cutPay.jmx -l log/cutPay.jtl

-h 幫助:打印出有用的信息並退出

-n 非GUI模式:在非 GUI 模式下運行 JMeter

-t 測試文件:要運行的 JMeter 測試腳本文件

-l 日誌文件:記錄結果的文件

-r 遠程執行:啓動遠程服務

-H 代理主機:設置 JMeter 使用的代理主機

-P 代理端口:設置 JMeter 使用的代理主機的端口號

2.6執行結果的查看

sh jmeter.sh -n -t cutPay.jmx -l log/cutPay.jtl,執行完成後

1) 命令將執行結果輸入cutPay.jtl中,把該文件導出至Windows環境下

2) Windows系統下打開Jmeter,建立一個線程組,添加監聽器。便可查看結果,以下圖:

 

2.7執行中的問題

1) 執行中可能碰到以下錯誤,表示:jmeter.sh執行權限不夠。

解決方案,賦予執行權限便可

命令:chmod 777 jmeter.sh

 

執行後,權限爲:-rwxrwxrwx表示,讀寫執行權限均有

 

2) 使用nohup時,可能未找到這個命令,報錯以下

-bash: nohup: command not found

解決方案:

① 經過which nohup,找到該命令所在目錄

 

② 打開.bash_profile,添加到PATH

 

③ 執行命令:source ~/.bash_profile;使文件生效

3 Windows環境分佈式執行

Jmeter工具自己支持分佈式壓測,即多臺機器同時執行同一個腳本,而後統計結果。

3.1分佈式壓測條件

分佈式壓測,機器分爲控制機(controller)和執行機(slave),有幾個條件必須知足:

  • 執行機和控制機必須在同一個網段以內
  • 壓測機也必須安裝相同版本的JmeterJDK

3.2修改Jmeter配置

1) 修改控制機中apache-jmeter-3.2\bin\jmeter.properties中配置

修改內容爲:remote_hosts=xxxx表明的是壓力機的ip。若是是多個壓力機,之間使用【,】分隔,以下圖所示

 

12.7.0.0.1:1099表示當前主機,1099爲設置的端口號,能夠修改

2) 修改執行機中apache-jmeter-3.2\bin\jmeter.properties中配置

修改內容爲:取消server_port=1099前的「#」,端口號和控制機配置文件中保持一致

3.3啓動執行機

打開apache-jmeter-3.2\bin\jmeter-server.bat,以下圖所示:

 

3.4啓動控制機

打開apache-jmeter-3.2\bin\jmeter.bat,添加執行腳本,經過運行-->遠程啓動或者遠程所有啓動,便可啓動對應執行機或者所有執行機。運行結束以後,查看聚合報告

 

4 Linux環境分佈式執行

Linux環境分佈式配置和Windows環境配置徹底相同,可參考5.3.2進行修改

4.1啓動執行機

啓動執行機:&-->表示後臺運行

方法一:./jmeter-server

方法二./jmeter-server &

方法三./jmeter-server -Djava.rmi.server.hostname=192.168.85.217 &

4.2啓動控制機

方法一: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

相關文章
相關標籤/搜索