您好,登錄后才能下訂單哦!
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執行測試時,測試計劃會發送到負載機,并向負載機發送命令以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分布式執行測試過程
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接收并匯總統計測試結果。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。