使用JMeter執行分佈式測試,經常遇到各種各樣的報錯,本文就彙總下工作中經常遇到的幾種問題
1、本文master端爲windows,slave端爲linux
2、不管master和slave在windows還是linux,首先要保證網絡是通的,telnet ip 端口就行
3、適合平臺大批量調用jmeter實現性能測試排查問題,端口占用,slave異常關閉,造成master端的殭屍進程
一、執行性能壓測,執行日誌提示Failed to create UDP port(UDP端口創建失敗)
- 出現該問題,就是jmeter的slave進程監聽端口被佔用,導致不能使用該端口,報錯如下
- 解決方法,只需要修改master機器的jmeter.property文件,該配置文件在jmeter的bin目錄下,默認配置只開放了10個端口範圍給監聽使用,只需要修改即可:
- 修改成如下即可
二、執行性能壓測,master日誌執行一部分就卡住不動 - 異常界面如下,該任務執行過程,只顯示了部分執行結果,不會順利完成
- 出現該問題,最大的可能就是slave進程被意外關閉了,比如內存不夠用,導致異常關閉,master監聽不到slave的消息,導致一直掛着
- 首先在slave機通過netstat -anp|grep 1100,查看slave佔用的端口是否正常,下圖代表該端口未被佔用,slave進程已經關閉了,所以導致master一直卡住不動,需要重新啓動slave,重新壓測,如果查看slave機器的jmeter-server.log日誌有報內存溢出,就需要修改默認最大內存
- 出現該問題時,master進程都不會關閉,一直會佔用系統資源,windows可以直接關閉執行界面,linux頁面執行就需要kill掉master進程
三、執行性能壓測,master日誌沒有返回任何執行結果,slave有執行日誌
- 異常界面如下,該任務執行過程,只顯示了部分執行結果,不會順利完成
- 出現該問題,首先查看slave機器的jmeter-server.log日誌,在bin目錄下,由日誌可以看到提示連接169.254.217.204異常,查看本機ip,發現該ip是一塊虛擬網卡,只需要禁用該網絡連接即可
- 再次執行分佈式測試,master執行日誌正常顯示,報告正常生成
- 首先要保證master機器和slave機器網絡是通的,需要在master執行telnet 10.16.69.174 1100 ,ip爲slave機器ip,端口爲slave端設置的端口,如果能正常進入到命令界面,證明和slave端連接是通的
四、執行性能壓測,執行日誌提示Engine is busy - please try later - 報錯界面如下
-
出現該問題,就是slave被佔用沒有被釋放,可能是master執行時沒有正常關閉,導致slave一直被佔用,只需要關閉slave服務,重新啓動即可,操作命令如下,首先netstat -anp|grep 1100,查詢出slave進程id,然後kill -9 id 即可
如果文章對你有幫助,歡迎關注本人公衆號,公衆號與本平臺文章同步,方便大家查閱,本人會持續推出與測試有關的文章,與大家分享測試技術,每一篇原創文章都是用心編寫,杜絕抄襲複製
QQ技術交流羣:加羣請輸入驗證信息 51CTO
微信二維碼關注公衆號:
關注之後,回覆資源下載,即可獲取本人共享的各種資源下載地址