Jmeter錄製複雜頁面腳本時Jvm崩潰或者棧溢出問題的解決

使用Jmeter進行性能測試,錄製Web頁面腳本時,如果頁面過於複雜,尤其在一些企業級應用系統中,會出現Jmeter突然崩潰,日誌中拋出Java棧溢出錯誤。

經過排查,發現是在頁面中對Form accept-charset進行計算時,採用了遞歸遍歷的算法,當Dom樹足夠複雜的時候,就會使用大量的Java stack內存,由於Java Stack內存較小,不同系統默認值不一樣,一般不超過2M,當然最簡單的辦法是通過設置-xss參數,但是設置到多大合適需要不斷調試,而且設置過大導致JVM能夠創建的線程數受限,不是根本解決辦法。最有效的解決辦法是不採用遞歸遍歷的算法,HyperPacer中採用了非遞歸遍歷算法解決了此問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章