Jmeter運行原理


Jmeter運行原理:

  JMETER是運行在JVM虛擬機上的,每個進程的開銷比loadrunner的進程開銷大,如果以進程的方式來運行每台負載機上的進程數量不會允許太多,當有大量並發時就需要大量的負載機,jmeter選擇了以線程方式來運行。jmeter通過線程組來驅動多個線程運行測試腳本對被測服務器發起負載,每一個負載機上都可以運行多個線程組。jemter運行場景不僅可以再gui方式中完成,還可以運行命令行,而且命令行的運行方式對於負載機的資源消耗會更小。Jmeter基本原理是建立一個線程池,多線程運行取樣器產生大量負載,在運行過程中通過斷言來驗證結果的正確性,可以通過監聽來記錄測試結果;

  如果取樣器中有參數化需求,可以通過配置元件或者前置處理器來完成;

  如果取樣器中有關聯需求,可以通過后置處理器來完成;

  如果要模擬負載場景,比如模擬多少用戶,運動多長時間,可以通過線程組完成;

  如果要模擬並發場景,可以通過定時器來完成;

  如果要控制業務的執行邏輯,比如登錄只運行一次,可以通過控制器來完成;

  一:jmeter遠程運行,遠程運行架構圖

 

 

  1:控制機

  運行多台jmeter負載機進行性能測試時,被選中作為管理機的那台機器就是控制機。控制機也可以參與腳本的運行,同時它也擔負管理遠程負載機指揮遠程負載機運行工作,且收集遠程負載機運行測試結果。

  2:負載機

  負載機就是向被測應用服務發起負載(請求)的機器。控制機同時也是一台負載機。jmeter負載機受控制機(jmeter負載機)的管理。與支持其他遠程運行的測試工具一樣,負載機受控制機管理首先要啟動一個客戶端程序(Agent:jmeter-server.bat),這樣控制機才可以接管負載機。控制機會把運行的腳本隱蔽的發送到遠程負載機,但是運行的測試腳本有參數文件或者依賴jar包時,控制機並不能把他們發送到遠程負載機,這種情況就需要手動拷貝,也可以用工具實現自動拷貝。

  3:遠程運行邏輯

  遠程負載機首先啟動agent程序,待控制機連接;控制機連接上遠程負載機;控制機發送指令(腳本及啟動命令)啟動線程;負載機運行腳本,回傳狀態(包括測試結果);控制機收集結果並顯示

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM