性能測試-詳細的 TPS 調優筆記


概述

在本地針對項目的登錄接口做了一次簡單的壓力測試。200並發持續120s,觀察吞吐量

運行結束之后,吞吐量是這樣的

如圖所示,吞吐量波動巨大,完全不正常。現在我們需要去觀察一下服務器了

mpstat -P ALL 1 先看一下cpu的運行情況*

可以發現cpu的利用率呈現一種階梯式遞增的趨勢,但是負載卻不高,說明cpu運行的問題不大

jstat -gcutil 1 1000觀察一下內存gc的情況

老年代內存空間不足了,所以導致新生代的對象進不來,頻繁fullgc,fullgc的時間又會很長,所以吞吐量一直上不去
檢查jvm的內存空間配置

堆區總共只有1g的內存,幾乎全部分給了新生代,導致老年代只有5M的可憐空間

修改內存配置
現在來修改一下內存參數,再加入一個並行回收的機制

再次運行腳本,觀察TPS和gc頻率

這次運行,fullgc的頻率變得很低了,而且吞吐量也比較平穩,沒有什么大的波動。但是運行到一分半鍾的時候,吞吐量出現了塌方式的下降,同時出現了異常。
觀察異常日志,發現超過了tomcat最大連接數了

**修改tomcat連接數配置,再次運行腳本

這次不像剛剛那要大面積報錯了,但是依然有一些異常出現。有一部分是超時,還有一部分是 Software caused connection abort: recv failed

調整一下請求的連接方式,使用java模式,並保持長連接,再觀察運行結果

這次一個報錯的都沒有了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM