壓測問題分析

2021-08-14 13:12:38 字數 882 閱讀 8388

壓測例項,tps 43 ,有一次呼叫連線超時。

網路:千兆網絡卡,經詢問,檢測正常

資料庫:承壓不過百分之十

top檢視伺服器記憶體:

伺服器1:swap使用未有變化;mem free 穩定在40m,伺服器總共12g;經詢問,記憶體固定分配到多個專案,jvm記憶體固定。經檢視jvm 堆疊記憶體,cpu使用均穩定。4核cpu,使用均勻,瞬時最高不超過50%。

伺服器2:swap使用未有變化;mem free 穩定在1g多,伺服器總共12g;經詢問,記憶體固定分配到多個專案,jvm記憶體固定。經檢視jvm 堆疊記憶體,cpu使用均穩定。16核cpu,使用均勻,偶爾會有個別cpu百分之十多,瞬時不超過40%。

全域性cat 搜尋日誌,並無 error,warn的錯誤資訊。

根據 呼叫方流水號查詢,查詢到該次記錄有日誌。且有記錄的方法並不超過最大超時時間 6s.

於是查詢該次記錄的所有日誌,發現:

2018-01-11 10:51:51.144 debug 【asyncpooltaskexecutor-47】 c.m.v.r.basicresourcepool[nspostrans-ac1f0c15-421010-19888] (204)[nspostrans-ac1f0c15-421010-19888] (204) - acquire test -- pool is already maxed out. [managed: 5; max: 5]

資料庫連線池最大數是5,超過最大數限制。

經**檢視,c3p0預設 1,最大12。並無配置c3p0 最大連線數。

然後進入配置**,發現寫死在註解裡,預設值為5.

經詢問,c3p0連線池最大連線數配置為30

解決方法:配置c3p0.maxpoolsize為30。

重啟,重新壓測



壓測和防止壓測方案

壓測 防止壓測方案 1.壓測 1 壓測工具 ab 2 壓測請求方式 get 3 壓測網域名稱 url 4 壓測方案 10萬請求,500併發 5 壓測指令碼 ab n 100000 c 500 url 6 展示壓測結果 從上面分析,10萬請求錯誤有 96881 次請求錯誤,基本上也就是很大的問題了 7...

壓測 mysql關閉連線 MySQL 壓測

mysqlslap iterations 100 create schema test query query.sql number of queries 20000 delimiter concurrency 100 3.2.2 網路引數問題 問題描述 使用mysqlslap 壓測某個語句,當併發...

Python併發 壓測http 壓測rpc

思路 啟動max workers個workers 執行緒 每個執行緒處理乙份輸入資料。如果自己統計,那還需要對下邊的指令碼進行擴充套件。如果搭配grafana等監控工具使用,那壓測指令碼只負責瘋狂發請求就好了。import concurrent.futures def parallel proces...