jmeter之如何減負-實現穩定超高併發測試(性能調優)

新浪圍脖>@o蝸牛快跑o   企鵝交流羣>79642549


在測試過程中,初學者(也包括早期的我),使用工具不當,添加衆多監控組件,非常想看到實時報告,跑不了一會,jmeter就卡死甚至oom,只得重啓,之前的統計報告沒了,非常鬱悶。下面我來總結下如何正確使用jmeter,有效利用執行資源,小型機器也可以實現高併發負載。

  • 減負一,優化監聽(GUI模式)
    • “查看結果樹”,需要勾選“僅日誌錯誤”,這樣只會保存錯誤日誌到內存,數據不會多。如果保存所有,那麼會保存每個請求請求信息和相應信息,而且這些數據都是保存到jvm內存的,且常駐數據無法回收,上萬十萬大量請求很快就會壓垮jmeter。
    • “聚合報告”中小並(100以內)發可以保留;高併發去掉,添加“Simple Data Writer”且保存csv格式數據。“聚合報告”是非常消耗cpu的。
    • 其他監聽組件可以都去掉,測試完後通過保存的結果,線下生成圖表報告
  • 減負二,優化監聽(Non-GUI命令行模式)
    • “查看結果樹”,需要勾選“僅日誌錯誤”,需要設置路徑,保存錯誤信息到文件,並且保存所有信息(點擊Configure,勾選所有非CSV選項)
    • “聚合報告”命令行下無效
    • 其他監聽組件可以都去掉,基本在Non-GUI下無效
  • 減負三,結果文件優化
    • 結果數據一定要保存爲CSV格式(比起xml格式,每條數據會少很多)
    • “查看結果樹”保存的錯誤信息要保存爲xml,可以保存完整結果信息,方便錯誤分析
  • 減負四,勿使用分佈式壓測
    • jmeter分佈部署只是解決問題,沒根本解決問題,高併發時master機器承受的壓力很大,形成單點,無法在高併發時提供穩定負載
    • 數據會寫可能丟失
    • 解決方法:需要手工運行slave,或利用jenkins同時觸發多臺slave
  • 減負五,建議用Non-GUI命令行模式運行


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