性能測試-JMeter安裝環境及運行原理

JMeter環境需求

JMeter是純Java應用程序,因此有Java運行環境的要求。不同版本

JMeter對Java版本的要求不盡相同。比如:

JMeter3.3僅支持Java 8

JMeter4.0要求Java 8+(表示大於等於Java 8版本)

JMeter5.1.1要求Java 8+

Java版本一般指的是JDK版本,這兩個概念可以無差別對待。目前JDK

可以分爲Oracle JDK與Open JDK兩類,其中Open JDK是Oracle

JDK的開源免費版。

從2019年1月開始,LTS的Oracle JDK8與Oracle JDK11不再免費,企業需要獲取JDK的更新升級,則需要購買Orace的訂閱服務。也可以不付費而使用免費的Open JDK 8/11,兩者沒有太大的區別。

JMeter運行原理

JMeter以創建多個線程的方式來模擬多個用戶執行操作,一個線程代表一個虛擬用戶。當JMeter執行測試時,測試計劃會發送到負載機,並向負載機發送命令以CLI方式執行測試,產生多個線程向被測系統發送請求,生成負載。

基於操作方式,可以分爲兩種:

GUI模式

圖形用戶界面運行模式。可視化顯示更加直觀,可使用鼠標操作更爲方便。

CLI模式

命令行模式(舊稱NON GUI)。

使用GUI模式存在如下問題:

1)GUI模式運行時會消耗大量的系統資源,從而影響測試結果;

2)某些環境中可能無法使用GUI模式,比如將JMeter部署在沒有GUI的Linux系統上。

爲了規避這些問題,JMeter提供了CLI模式,可以通過運行JMeter命令來執行測試。

建議使用GUI模式來創建和調試測試腳本;使用CLI模式執行測試並收集測試結果。

基於運行架構,可以分爲兩種:

單機模式

JMeter安裝在一臺服務器上,這臺機器也是負載機,所有請求都從該機器發出

分佈式模式

單機模式存在如下問題:

1)JMeter運行時,產生的衆多線程會消耗大量的CPU,內存資源,負載機本身可能成爲測試瓶頸;

2)網絡上能傳輸的數據量受網絡帶寬影響,無法做到高併發,導致測試結果不準確。

使用分佈式模式可以解決這些問題,使用一臺Master控制多臺遠程Slave,將測試計劃分發到不同的Slave上執行,請求從不同的Slave發出。

分佈式運行原理

JMeter分佈式體系結構

JMeter分佈式執行測試過程
性能測試-JMeter安裝環境及運行原理

1.首先啓動每臺Slave上的Agent程序

Windows: jmeter-server.bat,Linux/Unix: jmeterserver;

2.啓動Master後自動連接各臺遠程Slave;

3.Master將存儲在本地的測試計劃(jmx文件)分發到各臺遠程Slave,並命令各Slave以CLI模式執行JMeter測試;

注意:參數化文件或依賴包需要手工拷貝到各臺遠程Slave上;

4.Slave執行測試向SUT(被測系統)發送請求,並接受服務器返回的響應結果;

5.Slave將測試結果回送給Master;

6.Master接收並彙總統計測試結果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章