中創(chuàng)中間件:基于鯤鵬DevKit開發(fā)統(tǒng)一監(jiān)管平臺,性能提升55%?
?
數(shù)字時代,快速探索和響應(yīng)用戶需求是企業(yè)得以生存和持續(xù)發(fā)展的關(guān)鍵因素,在這樣的背景下,企業(yè)的業(yè)務(wù)系統(tǒng)也正在逐步走向“互聯(lián)網(wǎng)”架構(gòu),即通過高可用、彈性伸縮,按需迭代的系統(tǒng),來支持企業(yè)快速推出新產(chǎn)品/功能,從而縮短客戶旅程,抓住市場機遇。隨著企業(yè)IT架構(gòu)的不斷演進(jìn),運維工作也面臨新的挑戰(zhàn):?
- 業(yè)務(wù)難感知:企業(yè)缺少自動化技術(shù)手段進(jìn)行管理,可能導(dǎo)致對業(yè)務(wù)系統(tǒng)的動態(tài)性預(yù)警不足,運維工作處于被動地位;?
- 故障難定位:運維人員的數(shù)據(jù)管理規(guī)模不斷在擴大,在面對數(shù)百甚至上千的設(shè)備以及快速迭代的技術(shù)棧時,因缺乏標(biāo)準(zhǔn)化的管理,很難快速進(jìn)行故障定位和排查;?
- 故障恢復(fù)慢:依賴手工排查故障、效率低耗時長,可能造成數(shù)小時內(nèi)整個業(yè)務(wù)流程運行緩慢,甚至中斷,給企業(yè)帶來巨大影響。智能運維是提升企業(yè)運行效率、加速數(shù)字化升級的關(guān)鍵一環(huán)。智能運維綜合利用物聯(lián)網(wǎng)、大數(shù)據(jù)、機器學(xué)習(xí)等技術(shù),實時監(jiān)測管控系統(tǒng)運行狀態(tài)信息,覆蓋軟硬件基礎(chǔ)設(shè)施、應(yīng)用、業(yè)務(wù)等多個監(jiān)控維度,主動智能告警、可視化數(shù)據(jù)展示,幫助用戶事前預(yù)測、事中定位問題、事后解決問題,保證用戶應(yīng)用的質(zhì)量和可靠性,降低IT運維成本,為各行業(yè)領(lǐng)域提供良好的發(fā)展環(huán)境。
山東中創(chuàng)軟件商用中間件股份有限公司(以下簡稱“中創(chuàng)中間件”),是國內(nèi)領(lǐng)先的基礎(chǔ)軟件產(chǎn)品與服務(wù)提供商,也是信息技術(shù)應(yīng)用創(chuàng)新領(lǐng)域基礎(chǔ)軟件的主力軍。中創(chuàng)中間件多年來一直致力于應(yīng)用軟件開發(fā)和智能化運維體系的構(gòu)建,其解決方案廣泛應(yīng)用于信貸風(fēng)險、金融租賃、高速公路、智慧海事、電子政務(wù)、智慧教育、智慧社區(qū)等領(lǐng)域。 - 中創(chuàng)統(tǒng)一監(jiān)管平臺InforGuard UMP是中創(chuàng)中間件自主研發(fā)的一款集IT運行環(huán)境、業(yè)務(wù)應(yīng)用、物聯(lián)網(wǎng)監(jiān)控于一體的全景多維綜合監(jiān)控運維產(chǎn)品,通過提供數(shù)據(jù)采集、數(shù)據(jù)處理、實時告警、可視化展現(xiàn)等功能,為用戶快速構(gòu)建起IT運維監(jiān)控、業(yè)務(wù)可視化監(jiān)控以及物聯(lián)網(wǎng)監(jiān)控等多個領(lǐng)域的統(tǒng)一監(jiān)管平臺,精準(zhǔn)快速發(fā)現(xiàn)故障風(fēng)險,降低運維難度,減少運維人力,保障了業(yè)務(wù)系統(tǒng)的安全穩(wěn)定運行。
隨著越來越多的業(yè)務(wù)和應(yīng)用被部署到云端,計算和存儲資源池化,統(tǒng)一監(jiān)管平臺不僅需要滿足跨域、分級、高可用的管理要求,還要能夠關(guān)聯(lián)軟硬件資源、綜合監(jiān)管應(yīng)用的可用性與健康度,并通過多維數(shù)據(jù)分析圖表等可視化手段對信息系統(tǒng)的建設(shè)成果、運維質(zhì)效進(jìn)行全景呈現(xiàn),這些都對承載業(yè)務(wù)的底層基礎(chǔ)設(shè)施提出了更高的要求:?
- 低時延:實時查詢和管控至關(guān)重要,告警等信息的查詢響應(yīng)時間要求在毫秒級;?
- 高可靠:數(shù)據(jù)可靠性要求高,要求對資源進(jìn)行準(zhǔn)確、實時的監(jiān)控,在前端正確顯示資源指標(biāo)數(shù)據(jù)、狀態(tài)并提供報警信息;數(shù)據(jù)的接收和上傳也至關(guān)重要,服務(wù)一旦宕機,就會造成數(shù)據(jù)丟失、影響重大。?
考慮到鯤鵬平臺在并行計算、低時延、高可靠等方面的優(yōu)勢,并且提供完善的開發(fā)工具鯤鵬DevKit實現(xiàn)應(yīng)用到鯤鵬的快速遷移以及鯤鵬應(yīng)用原生開發(fā);因此中創(chuàng)中間件與鯤鵬達(dá)成了合作意愿,選擇鯤鵬作為“中創(chuàng)統(tǒng)一監(jiān)管平臺軟件V2.1”的IT底座,并在鯤鵬上原生開發(fā)中創(chuàng)統(tǒng)一監(jiān)管平臺軟件的核心組件——界面及拓?fù)浣Y(jié)構(gòu)展現(xiàn)引擎。
【中創(chuàng)統(tǒng)一監(jiān)管平臺架構(gòu)圖】?
通過鯤鵬DevKit代碼遷移工具快速遷移中創(chuàng)統(tǒng)一監(jiān)管平臺?
在該項目適配鯤鵬的開始階段,研發(fā)團(tuán)隊需要將統(tǒng)一監(jiān)管平臺軟件遷移到鯤鵬平臺上,其中涉及9個子模塊,共計77萬行左右代碼、以及大量第三方軟件(包含Tomcat、MySQL、JDK、GCC等)。經(jīng)分析,采用手動遷移的話,整個系統(tǒng)預(yù)計需要36人/天才能完成。鯤鵬DevKit代碼遷移工具極大簡化了應(yīng)用遷移的過程,可以實現(xiàn)依賴文件自動識別、兼容JAR包一鍵下載、代碼修改建議一鍵替換,無須耗時耗力檢查跟進(jìn),提高了代碼遷移效率。在鯤鵬DevKit的幫助下整個系統(tǒng)的遷移只用了13人天,平均每個服務(wù)不到2人天即可完成自動遷移。?
基于鯤鵬DevKit高效開發(fā)界面及拓?fù)浣Y(jié)構(gòu)展現(xiàn)引擎,性能提升55.96%?
在遷移完成之后,中創(chuàng)中間件需要針對中創(chuàng)統(tǒng)一監(jiān)管平臺的智能化運維,知識化管理,平臺化支撐等業(yè)務(wù)場景,在鯤鵬平臺上開發(fā)界面及拓?fù)浣Y(jié)構(gòu)展現(xiàn)引擎功能。該功能需支持超高的數(shù)據(jù)處理與存儲性能,以滿足政務(wù)、交通、海事、金融等關(guān)鍵行業(yè)應(yīng)用的需求,因此對性能要求極高。?
因此,為進(jìn)一步提升業(yè)務(wù)性能和穩(wěn)定性,中創(chuàng)中間件在開發(fā)過程中將之前使用的OpenJDK替換為鯤鵬DevKit提供的畢NJDK,畢NJDK提供其高性能編譯算法、場景應(yīng)用感知、AI迭代調(diào)優(yōu)等特性,能夠進(jìn)一步提升應(yīng)用的運行效率,在告警界面查詢場景下,平均響應(yīng)時間縮短了35.94%。?
【告警界面平均響應(yīng)時間調(diào)優(yōu)前后性能對比】?
在編譯完成之后,針對系統(tǒng)出現(xiàn)的性能瓶頸,開發(fā)人員還使用了鯤鵬DevKit性能分析工具針對統(tǒng)一監(jiān)管平臺的關(guān)鍵模塊進(jìn)行了如下調(diào)優(yōu):?
- 通過鯤鵬DevKit調(diào)優(yōu)助手工具中的系統(tǒng)配置分析識別出臟頁面占用總內(nèi)存問題,臟頁面占用總內(nèi)存比例(dirty_background_ratio)高達(dá)30%,對于磁盤寫入操作為主的業(yè)務(wù),數(shù)據(jù)積壓太多易成為瓶頸;同時,該業(yè)務(wù)類型為IO密集型,比例過高也可能會導(dǎo)致IO集中以及突發(fā)的IO等待。在工具的建議下進(jìn)行了優(yōu)化,有效降低了臟頁面占用總內(nèi)存比例。?
- 針對內(nèi)存、字符串、鎖等微架構(gòu)場景,通過鯤鵬DevKit熱點函數(shù)分析識別出一些函數(shù)可使用鯤鵬親和的Glibc加速庫進(jìn)行優(yōu)化。技術(shù)人員通過替換Glibc函數(shù)庫,將加速代碼與鯤鵬處理器做綁定優(yōu)化,Glibc加速庫充分利用鯤鵬指令及鯤鵬處理器架構(gòu)優(yōu)勢提高了執(zhí)行效率。?
【視圖頁面&登錄及概況頁面平均響應(yīng)時間調(diào)優(yōu)前后性能對比】?
通過上述的優(yōu)化分析,中創(chuàng)統(tǒng)一監(jiān)管平臺展現(xiàn)引擎在鯤鵬上運行性能得到有效提升:登錄及概括頁面的平均響應(yīng)時間最高提升了55.96%、視圖頁面的平均響應(yīng)時間提升了31.14%。通過智能分析實時預(yù)警,降低運維風(fēng)險,提升運維效率,使系統(tǒng)整體運行狀況可視可控,為系統(tǒng)運行提供更安全、穩(wěn)定、高效的運行支撐。?
目前中創(chuàng)中間件「中創(chuàng)統(tǒng)一監(jiān)管平臺軟件V2.1」已經(jīng)在全國多省市落地,在政務(wù)、交通、海事、金融等行業(yè)皆已實現(xiàn)了規(guī)模應(yīng)用。隨著各個行業(yè)應(yīng)用在國產(chǎn)化浪潮的持續(xù)深耕,作為鯤鵬計算產(chǎn)業(yè)生態(tài)重要伙伴,中創(chuàng)中間件希望與山東鯤鵬生態(tài)創(chuàng)新中心持續(xù)合作,通過最新的技術(shù),打造更具競爭力的行業(yè)解決方案,為用戶帶來更好的運維體驗。?
鯤鵬原生開發(fā)是指使用鯤鵬DevKit的原生開發(fā)能力,如鯤鵬開發(fā)框架(含場景化SDK)、編譯調(diào)試工具、云測服務(wù)、調(diào)優(yōu)&診斷工具等,在鯤鵬平臺上開發(fā)新軟件/新功能,充分發(fā)揮鯤鵬架構(gòu)優(yōu)勢,從而獲得開發(fā)效率/運行性能提升。未來,鯤鵬DevKit將持續(xù)增強開發(fā)體驗、優(yōu)化工具能力,提升鯤鵬開發(fā)效率,促進(jìn)千行百業(yè)數(shù)字化轉(zhuǎn)型。?