Jmeter分布式測試實戰


 一、Jmeter分布式測試基礎

1、Jmeter分布式測試原因:

  在使用Jmeter進行接口的性能測試時,由於Jmeter 是JAVA應用,對負載機的CPU和內存消耗比較大。所以當需要模擬數以萬計的並發用戶時,可能會導致單台負載本身扛不住,出現的瓶頸。為了解決以上的問題,Jmeter提供的分布式功能,同時啟動多台電腦進行分布式測試。

2、什么情況下采用分布式測試:

  1、在進行壓測的過程中如果出現Jmeter未響應,卡住,反應慢等現象。隨即啟動任務管理器進行查看,如果cup和內存都特別大。就可以說明現在的負載機出現了瓶頸,需要進行分布式測試。

  2、隨着並發數的增長,TPS不再增長,即出現瓶頸(排除服務器瓶頸及其他)。可能是現在的負載機出現了瓶頸,需要進行分布式測試。

  3、在進行壓測的過程中出現錯誤,如Unrecognized Windows Sockets error: 0: recv failed。可能是現在的負載機出現了瓶頸,需要進行分布式測試。

3、Jmeter分布式執行原理:

  1、Jmeter分布式測試時,選擇其中一台作為調度機(master),其它機器做為執行機(slave)。  

  2、執行時:master會把腳本發送到每台slave上,slave拿到腳本后開始執行,slave執行時不需要啟動Jmeter。只需要把jmeter-server.bat文件打開,它會自動通過非GUI模式來執行。(注意:如果引用到csv等外部的文件,則每台slaver所在的機器都需要相應位置放置該文件。)

  3、執行后:slave會把結果回傳給master,master會收集所有slave的信息並匯總。

二、Jmeter分布式測試實戰

1、執行機slave配置:

  1、slave機上需要安裝JDK、Jmeter。並且配置好環境變量。

  2、打開Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把這一行修改為”remote_hosts=192.168.11.14:1099,1099是端口號(本人使用的是3.3的版本,可以不用寫端口號,Jmeter會自動識別)。

   

     3、打開jmeter-server.bat文件,就設置完成了,等待控制機(Controller)啟動。

       

 2、控制機(Controller)配置:

    1、Controller機上需要安裝JDK、Jmeter。並且配置好環境變量。

    2、打開jmeter-server.bat文件,就設置完成了,等待控制機(Controller)啟動。

    3、打開Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把這一行修改為”remote_hosts=192.168.8.149:1099,192.168.8.174:1099,1099是端口號(本人使用的是3.3的版本,可以不用寫端口號,jmeter會自動識別)。

   

 (此處寫的是執行機的ip),如果有多台代理機,這里需要把所有的代理機的IP地址都加入進來。

   4、打開jmeter-server.bat文件,設置完成了。

3、運行分布式測試

以訪問百度為例:

     

    

    

    

三、Jmeter分布式需要注意的問題:

    1、JMeter 的 Controller 和 Agent 之間進行通訊的默認 RMI

    2、master和slave機中的jmeter版本必須一致(小版本也得一致)。

    3、java的版本也得一致,不能一個java7一個java8(只要大版本一致即可)

   4、單個運行某個執行機的IP時,如果提示錯誤:Engine is busy - please try later。

 

或者提示: Connection refused to host: 192.168.11.14; nested exception is: 
java.net.ConnectException: Connection timed out: connect 

 

解決方法:

 

 參考:

---------------------------------------------------------------------------------------------------------------------------

https://www.cnblogs.com/fennudexiaoniao/p/6913395.html
https://www.cnblogs.com/fennudexiaoniao/p/6913395.html
https://www.cnblogs.com/whitewasher/p/6946207.html


免責聲明!

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



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