1. 程式人生 > >性能測試JMeter趟的坑之JMeter的bug:TPS周期性波動問題

性能測試JMeter趟的坑之JMeter的bug:TPS周期性波動問題

劫持 sdn apach ast apache clas mark 應該 太多的

先說下問題

我在做性能測試時,使用JMeter搞了100個並發,以100TPS的壓力壓測十分鐘,但壓力一直出現波動。並且出現波動時JMeter十分卡,例如以下圖:

周期性TPS波動

技術分享


各種猜測:

所以開始找環境的各種原因,起初以為是JMeter的連接被“劫持”了,不然JMeter也不會卡的。所以,花了整整一下午時間。去排除壓測機環境、被壓測環境(TCP連接數、程序上的問題等等),但一直沒找到原因。

後來。換成LR後,壓測正常。所以開始懷疑是JMeter自身的問題。


原因找到

後來想起來,我被測場景的腳本是老的腳本,也是在JMeter2.8上的。然後我如今用的JMeter是2.13,難道是腳本的兼容性問題?



問題解決

各種替換。最後才定位到了是CSV Data Set Config的問題。僅僅要我用2.8的腳本上的CSV Data Set Config進行參數化,哪怕是這個參數我沒實用。一壓測就出現TPS波動;我禁用後,新建了一個CSV Data Set Config。全部數據保持不變,再次壓測,OK!

這個坑真大!希望Apache組織可以改動下,肯定是老版本號的CSV Data Set Config在新版本號的JMeter壓測時,調度存在問題,導致本地的壓力不穩定,並且關鍵的是,這個導致JMeter太卡了。

問題解決後的壓力例如以下:穩穩的,我要穩穩的幸福~

下圖非常穩定了。波動在3TPS範圍

技術分享



還有其它坑

PS:另外,再給大家補充個坑。就是JMeter插件的資源監控問題,將agent放到Linux上去監控資源,cpu和內存都沒什麽問題。但假設你監控tcp的連接話,就要註意了,這個監控能夠吃掉15%左右cpu資源,4核單板的喔,並且是sys的cpu高非常多。

應該是這塊監控的算法不夠優化,占用了太多的資源。請各位JMeter使用者千萬註意咯!


By:Fresh.Qin



性能測試JMeter趟的坑之JMeter的bug:TPS周期性波動問題