記一次效能調優,4000tps到2萬tps

2021-10-01 05:22:47 字數 616 閱讀 5943

程式簡述:

乙個客戶端程式從rocketmq中讀取訊息通過rpc呼叫方式傳送給服務端,並非同步獲取服務端應答,根據metric統計應答tps計算總體效能。

服務端為分布式系統,由多個環節組成的拓撲結構,可指定程序數和各個環節的執行緒數。執行在6臺主機上。調優前tps4000,接到任務需要目標tps1萬6.

調優步驟:

1、業務調優:將不必要的業務規則匹配配置刪除。將sql靜態資料在程式啟動時載入到記憶體,而不是每次都查詢。

2、日誌調優:將logback日誌配置檔案修改為非同步方式(提高較大),日誌拼接由+改為{}

3、zk配置調優:調優前程式只訪問程式配置只訪問了zk集群中的一台機器,日誌發現有lose connnection錯誤,修改為訪問集群中所有機器,問題解決

4、資料庫連線池調優:jstack發現有很多卡在getconnnection的執行緒,判定是連線池數量不夠,根據單程序併發,調整出合理資料庫連線池大小,以及maxactive、maxidle等配比。

5、客戶端:到後期發現由於客戶端傳送tps跟不上,因此調整了從rocketmq讀取資料的執行緒數,傳送執行緒數等配置。

6、sql優化

7、**優化:刪除冗餘,部分卡頓**優化等

調優後tps達到2萬

一次效能調優的實戰

專案情況 是乙個大型公司的內部辦公系統,該系統有兩個和一般企業應用不太一樣的特點 一是使用者量非常多,人員數達到2w左右,另乙個是採用分級管理的形式,各個分公司資料分開管理。我們的定位 我們是作為業務平台的提供商參與這個專案的,我們提供底層的開發平台,系統整合商在此基礎上進行二次開發。在專案從開發到...

一次效能調優的實戰

專案情況 是乙個大型公司的內部辦公系統,該系統有兩個和一般企業應用不太一樣的特點 一是使用者量非常多,人員數達到2w左右,另乙個是採用分級管理的形式,各個分公司資料分開管理。我們的定位 我們是作為業務平台的提供商參與這個專案的,我們提供底層的開發平台,系統整合商在此基礎上進行二次開發。在專案從開發到...

記一次oracle sql調優過程

這裡兩天都在對一條sql進行調優。該sql並不複雜,類似於 select from some view union all select from some table where datetime d1 and datetime d2 and 底層使用ibatis2.1.6 oracle 10g。...