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

最近由於項目須要,研究了性能測試的相關內容,而且最終選用了jmeter這一輕量級開源工具。由於一直使用jmeter的GUI模式進行腳本設計,到測試執行階段工具自己對資源的過量消耗給性能測試帶來了瓶頸,通常線程加到100左右就會出現工具自己沒法支撐的問題,普遍瞭解解決辦法後,發現分佈式部署測試機還是首選方案。
 
關於如何配置jmeter分佈式部署測試機不少博客上已經描述得很詳細了,這裏就再也不贅述,能夠參考蟲師的博客:
 
如今單純記錄一下在部署分佈式測試機的過程當中踩過的那些坑。
 
五星坑:遠程啓動測試,響應數據爲空。
controller運行jmeter腳本後,GUI無性能數據返回。
 
 
 
 
agent的jmeter server顯示鏈接後當即結束。看似執行實則響應數據爲空。
 
 
 
出現以上狀況緣由及解決辦法:
 
一、jmeter腳本和測試數據(若是有的話)主機和從機兩邊都要存放。且controller中jmeter腳本、測試數據的存放路徑和agent中jmeter腳本、測試數據的存放路徑一致。
  二、在緣由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分佈式測試算是勉強進入正確軌道,將踩過的坑作個備忘。感謝團隊的努力,也但願能和你們一塊兒學習、分享、進步。
相關文章
相關標籤/搜索