【Fine原創】JMeter分布式測試中踩過的那些坑


最近因為項目需要,研究了性能測試的相關內容,並且最終選用了jmeter這一輕量級開源工具。因為一直使用jmeter的GUI模式進行腳本設計,到測試執行階段工具本身對資源的過量消耗給性能測試帶來了瓶頸,一般線程加到100左右就會出現工具本身無法支撐的問題,廣泛了解解決辦法后,發現分布式部署測試機仍是首選方案。
 
關於如何配置jmeter分布式部署測試機很多博客上已經描述得很詳細了,這里就不再贅述,可以參考蟲師的博客:
 
現在單純記錄一下在部署分布式測試機的過程中踩過的那些坑。
 
五星坑:遠程啟動測試,響應數據為空。
controller運行jmeter腳本后,GUI無性能數據返回。
 
 
 
 
agent的jmeter server顯示連接后立即結束。看似執行實則響應數據為空。
 
 
 
出現以上情況原因及解決辦法:
 
1、jmeter腳本和測試數據(如果有的話)主機和從機兩邊都要存放。且controller中jmeter腳本、測試數據的存放路徑和agent中jmeter腳本、測試數據的存放路徑一致。
  2、在原因1的基礎上,controller的測試數據地址要用絕對路徑,agent的測試數據絕對路徑或相對路徑均可。
 
 
解決辦法:文件地址修改統一后,運行成功。(run是自己打的log)
(注意:也因為路徑一致的原因,目前我也沒辦法把windows和mac電腦混合配置成分布式測試機,這里是清一色的windows系統)
 
 
四星坑:agent的VM或共享盤符會干擾遠程連接
agent如果安裝有vm或將某個盤設置了共享權限的時候,controller在配置該agent時除IP地址外,虛擬機ip或者共享盤ip也會出現在遠程連接待選列表中,連接時報錯。
 
 
 
解決辦法:關閉或卸載虛擬機,撤銷盤符共享
 
三星坑:jmeter運行時報內存溢出outfmenmory錯誤。
 
該問題博客上已經有很多同行給出了解決辦法,比如修改jmeter.bat的預設內存大小。參考瘋狂的tiger的博客吧:
 
 
二星坑:由於防火牆未關閉或測試controller和agent不在同一個網段會影響遠程連接。
 
 
 
解決辦法:關閉agent的防火牆。contrller和agent在同一網段,比如我這里就選擇了同一個WIFI,配置同一個DNS等方法解決。
 
 
至此,jmeter分布式測試算是勉強進入正確軌道,將踩過的坑做個備忘。感謝團隊的努力,也希望能和大家一起學習、分享、進步。
 


免責聲明!

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



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