高併發weblogic集羣

1.原始查詢系統描述

查詢系統的數據庫是2節點的RAC,中間件是24weblogic服務器做集羣,前端是負載均衡器,如圖:

高併發weblogic集羣

2.存在的問題

每天業務高峯期weblogic中間件頻頻宕機,後端的2節點RAC數據庫已經難以承載現今的併發量,大量阻塞線程堆積在weblogic中間件上,具體問題如下:

1) Adminserver 壓力過大,集羣中被管服務器太多,在業務高峯期監控受阻。

2) 數據庫的承載能力過小,使得調用JDBC的服務嚴重受阻。

3) 集羣承載能力有限,無法完成高併發。

4) 絕大多數被管服務器在業務高峯期處於過載的狀態,宕機現象一直髮生。

5) cpu資源沒有合理利用,單顆CPU(加載weblogic的那顆)業務高峯期壓力很大能到100%,其他cpu處於空閒狀態。

3.新一代查詢系統方案

   根據原查詢系統存在的問題,我們將weblogic中間件層做擴容,由原系統的單一weblogic集羣擴充至六套集羣,每個集羣中部署8weblogic服務器,每臺物理機器部署2weblogic,如圖: 

高併發weblogic集羣

相關設置:

1) 設置weblogic過載保護:將每個weblogic 等待和執行的線程數之和設置爲500

   (即 shared capacity for work manager)。

2) 設置weblogic阻塞線程診斷:診斷阻塞線程的時間間隔爲60,容忍阻塞的線程數爲200。

3) 設置weblogic JDBC連接數:每個連接池設置連接數爲50,這樣系統能夠承載:50*2*(48-6)=4200個JDBC併發連接。

 

 

 

 

4.方案綜述:

1) 能夠支持21000人併發連入系統,計算:500*(48-6)=21000

2) 能夠支持4200人併發查詢數據庫,計算:50*2*(48-6)=4200

3) 爲保證系統的穩定運行,利用weblogic的過載保護,合理的設置weblogic的承載上限

4) 縮短阻塞線程的診斷時間間隔,早治療早康復。

5) 利用多集羣的模式,合理的減少了集羣中被管服務器的數量,從而降低AdminServer管理,監控集羣的壓力。

6) 易於水平擴展,直接增加集羣的數量就能夠增加系統負載能力,當然數據庫也要相應的調整。

 

5.對數據庫的要求:

能夠支持4200的併發讀寫,若還爲2節點的RAC,那麼每個節點的processes得大於等於2500。

 

6.方案不確定的因素:

1) 每臺物理機器上的2個weblogic是否能夠做到各佔用一個cpu。

2) 每個weblogic承受500的併發連入(等待+執行的),這樣的多線程,客戶的cpu能否合理的承受壓力。



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