高峰 王迪 張靜
性能基線就是在可控的標(biāo)準(zhǔn)化的環(huán)境下,通過(guò)測(cè)試工具采集和人工分析后得出的有參考價(jià)值的指標(biāo)數(shù)據(jù),其主要作用包括:
為容量規(guī)劃確定系統(tǒng)和應(yīng)用程序的標(biāo)準(zhǔn)參考數(shù)據(jù);
為配置測(cè)試的參數(shù)和配置選項(xiàng)提供參考依據(jù);
為驗(yàn)收測(cè)試確定系統(tǒng)是否具備自己所宣稱的能力;
為性能基線的建立提供長(zhǎng)期的數(shù)據(jù)統(tǒng)計(jì)來(lái)源以及比較基準(zhǔn)。
目前,河南省電力公司的基線管理辦法是借助應(yīng)用性能管理軟件,配合撥測(cè)系統(tǒng),了解和掌握系統(tǒng)當(dāng)前在運(yùn)情況,然后以平均值的方式計(jì)算出系統(tǒng)的平均運(yùn)行基線,在此基線的基礎(chǔ)上上浮和下調(diào)一定比例來(lái)計(jì)算基線值。依賴這種基線管理辦法,河南省電力公司為部分系統(tǒng)制訂了基礎(chǔ)的性能管理基線,基線管理工作已經(jīng)取得一定成效,但由于這種基線管理辦法依賴運(yùn)維人員經(jīng)驗(yàn),基線的建立沒有可靠的數(shù)據(jù)及科學(xué)依據(jù),且無(wú)法覆蓋業(yè)務(wù)系統(tǒng)的主要業(yè)務(wù)操作,在實(shí)際管理過(guò)程中存在以下問題:
(一)重點(diǎn)業(yè)務(wù)不清晰
目前的基線管理工作,是以業(yè)務(wù)為單位開展的,一個(gè)應(yīng)用系統(tǒng)內(nèi)哪些業(yè)務(wù)操作是重點(diǎn)操作難以進(jìn)行有效區(qū)分,這就使基線的制訂工作缺乏重點(diǎn),實(shí)際使用過(guò)程中哪些系統(tǒng)的哪些業(yè)務(wù)操作是常用且重要的功能,缺乏有效分析手段。
(二)缺乏細(xì)節(jié)的數(shù)據(jù)采集
目前正在進(jìn)行的基線管理工作,利用APM工具能夠基于URL采集到不同業(yè)務(wù)系統(tǒng)的響應(yīng)時(shí)間,但由于國(guó)網(wǎng)目前一些重要系統(tǒng)的特殊性,如營(yíng)銷系統(tǒng),PMS系統(tǒng)等系統(tǒng),系統(tǒng)具體操作業(yè)務(wù)之間的切換是以URL參數(shù)進(jìn)行傳遞,整體URL路徑不發(fā)生變化,目前無(wú)法統(tǒng)計(jì)具體業(yè)務(wù)操作的響應(yīng)時(shí)間,無(wú)法采集并計(jì)算具體業(yè)務(wù)操作基線。
針對(duì)這些情況,河南省電力公司從實(shí)際情況出發(fā),以信息系統(tǒng)運(yùn)行性能指標(biāo)作為切入點(diǎn)進(jìn)行面向業(yè)務(wù)的性能基線分析處理研究,通過(guò)建設(shè)性能基線管理平臺(tái),基于歷史數(shù)據(jù),利用統(tǒng)計(jì)學(xué)原理計(jì)算科學(xué)基線,使性能基線管理活動(dòng)更加深入有效,從人工統(tǒng)計(jì)轉(zhuǎn)變?yōu)樽詣?dòng)化、科學(xué)化的基線管理。
(一)建設(shè)目標(biāo)
通過(guò)數(shù)據(jù)采集分析、基線模型生成、重要業(yè)務(wù)梳理等一系列工作,精準(zhǔn)掌握重要業(yè)務(wù)系統(tǒng)重要業(yè)務(wù)的性能基線,并根據(jù)該基線數(shù)據(jù)進(jìn)行持續(xù)監(jiān)控,發(fā)現(xiàn)、分析處理性能問題,為河南省電力公司信息系統(tǒng)穩(wěn)定運(yùn)行提供有效人員及技術(shù)支撐。
(二)實(shí)施方法
河南省電力公司通過(guò)系統(tǒng)的數(shù)據(jù)采集、模型生成、關(guān)鍵業(yè)務(wù)梳理、業(yè)務(wù)統(tǒng)計(jì)分布、基線預(yù)測(cè)等方法,為業(yè)務(wù)系統(tǒng)的基線管理、基線監(jiān)控、基線梳理、基線生成提供了可靠技術(shù)支撐。
1.數(shù)據(jù)采集
采用嵌入式引擎的方式進(jìn)行數(shù)據(jù)的采集,完成數(shù)據(jù)全量采集工作,實(shí)現(xiàn)業(yè)務(wù)基線數(shù)據(jù)的獲取與分析,數(shù)據(jù)分析數(shù)據(jù)精度達(dá)到URL參數(shù)級(jí),完成業(yè)務(wù)性能數(shù)據(jù)的細(xì)節(jié)采集工作。
2. 模型生成
開展模型生成工作,以采集到的業(yè)務(wù)流量為基礎(chǔ),利用統(tǒng)計(jì)學(xué)模型進(jìn)行基線生成,使信息系統(tǒng)應(yīng)用性能管理的基線具備科學(xué)性和有效性,模型可采用六希格瑪質(zhì)量管理方法,對(duì)歷史數(shù)據(jù)99%的數(shù)據(jù)作為上下基線。
3. 關(guān)鍵業(yè)務(wù)梳理工作
開展關(guān)鍵業(yè)務(wù)梳理工作,將不同單個(gè)功能的URL進(jìn)行關(guān)聯(lián),從而使重要業(yè)務(wù)系統(tǒng)之間形成工作流,并對(duì)此工作流進(jìn)行基線計(jì)算,從而使基線分析處理工作基于用戶實(shí)際操作行為進(jìn)行,而不僅僅針對(duì)具體頁(yè)面。
4.業(yè)務(wù)統(tǒng)計(jì)工作
開展業(yè)務(wù)統(tǒng)計(jì)分布工作,按照統(tǒng)計(jì)學(xué)二八原則對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)出一個(gè)系統(tǒng)內(nèi)用戶訪問最多的業(yè)務(wù),使數(shù)據(jù)基線制訂工作具有更強(qiáng)的針對(duì)性。
5.數(shù)據(jù)預(yù)測(cè)工作
基于基線開展數(shù)據(jù)預(yù)測(cè)工作,基于歷史數(shù)據(jù)的統(tǒng)計(jì)學(xué)方法預(yù)測(cè),根據(jù)現(xiàn)狀預(yù)測(cè)出問未來(lái)系統(tǒng)的變化趨勢(shì),從而幫助管規(guī)避部分業(yè)務(wù)問題。
(三)系統(tǒng)實(shí)現(xiàn)
1.系統(tǒng)架構(gòu)
基線系統(tǒng)采用模塊化的方式設(shè)計(jì),利用嵌入式的數(shù)據(jù)采集引擎進(jìn)行代碼級(jí)運(yùn)行指標(biāo)數(shù)據(jù)采集,之后將采集到的代碼執(zhí)行效率數(shù)據(jù)存儲(chǔ)至代碼執(zhí)行效率數(shù)據(jù)庫(kù)內(nèi),將運(yùn)行相關(guān)信息存儲(chǔ)到關(guān)聯(lián)分析數(shù)據(jù)庫(kù)內(nèi),系統(tǒng)代碼性能分析引擎則對(duì)這些采集到的數(shù)據(jù)進(jìn)行處理,在代碼執(zhí)行效率分析、內(nèi)存分析、參數(shù)關(guān)聯(lián)分析、數(shù)據(jù)庫(kù)語(yǔ)句分析引擎的共同作用下,為用戶提供代碼實(shí)時(shí)監(jiān)測(cè)、關(guān)聯(lián)分析報(bào)告、數(shù)據(jù)庫(kù)深度監(jiān)測(cè)功能。系統(tǒng)的架構(gòu)具體如圖1所示。
2.功能實(shí)現(xiàn)
基線系統(tǒng)通過(guò)嵌入式數(shù)據(jù)采集引擎采集來(lái)自中間件、應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)上的代碼執(zhí)行效率數(shù)據(jù)以及運(yùn)行狀態(tài)數(shù)據(jù),并將數(shù)據(jù)存儲(chǔ)數(shù)據(jù)庫(kù)內(nèi),在這里數(shù)據(jù)處理分析引擎會(huì)對(duì)獲取到的各類數(shù)據(jù)進(jìn)行處理并進(jìn)行關(guān)聯(lián)分析存儲(chǔ),存儲(chǔ)的數(shù)據(jù)最終將由數(shù)據(jù)應(yīng)用層展示給用戶,進(jìn)行數(shù)據(jù)的各類監(jiān)測(cè)、分析以及處理工作。
(1)重要業(yè)務(wù)系統(tǒng)運(yùn)行數(shù)據(jù)采集分析
采集重要業(yè)務(wù)系統(tǒng)運(yùn)行數(shù)據(jù),采集的數(shù)據(jù)應(yīng)重點(diǎn)關(guān)注不同業(yè)務(wù)系統(tǒng)的響應(yīng)時(shí)間,同時(shí)在采集力度上能夠達(dá)到URL參數(shù)級(jí)別,以此區(qū)分重要業(yè)務(wù)系統(tǒng)內(nèi)部重要業(yè)務(wù)操作數(shù)據(jù),為基線的分析工作提供數(shù)據(jù)基礎(chǔ)。
(2)業(yè)務(wù)交易量分析
提供重要業(yè)務(wù)的操作交易量排名報(bào)表,能夠按照不同應(yīng)用系統(tǒng)進(jìn)行區(qū)分,以此幫助管理人員分析出哪些業(yè)務(wù)操作是工作中經(jīng)常會(huì)用到的重要操作,并重點(diǎn)計(jì)算這些業(yè)務(wù)的響應(yīng)基線。
(3)業(yè)務(wù)基線計(jì)算
通過(guò)對(duì)采集到的數(shù)據(jù)進(jìn)行分析實(shí)現(xiàn)不同業(yè)務(wù),不同細(xì)節(jié)業(yè)務(wù)以及不同時(shí)段的基線計(jì)算,基線的計(jì)算方法應(yīng)依賴統(tǒng)計(jì)學(xué)原理,包括數(shù)據(jù)正態(tài)分布校驗(yàn),基于六希格瑪?shù)慕y(tǒng)計(jì)學(xué)基線計(jì)算等。
(4)業(yè)務(wù)運(yùn)行數(shù)據(jù)預(yù)測(cè)
提供基于歷史數(shù)據(jù)的預(yù)測(cè)活動(dòng),能夠利用統(tǒng)計(jì)學(xué)知識(shí)進(jìn)行數(shù)據(jù)預(yù)測(cè),實(shí)現(xiàn)包括ANOVO數(shù)據(jù)關(guān)聯(lián)分析以及蒙特卡洛分析在內(nèi)的各種預(yù)測(cè)模型分析,預(yù)測(cè)未來(lái)系統(tǒng)運(yùn)行情況。
(5)異?;€告警處理
能夠監(jiān)控運(yùn)行數(shù)據(jù)并對(duì)運(yùn)行數(shù)據(jù)與基線異常時(shí)產(chǎn)生的差異數(shù)據(jù)進(jìn)行告警處理,能夠根據(jù)告警信息判斷事件是否是故障還是普通偏出,能夠分析異常點(diǎn)并生成異常分析報(bào)告。
(6)數(shù)據(jù)報(bào)表與展示
提供數(shù)據(jù)報(bào)表服務(wù),能夠?qū)χ饕芾順I(yè)務(wù)系統(tǒng)的基線和運(yùn)行數(shù)據(jù)進(jìn)行日常報(bào)表報(bào)告,幫助管理人員直觀的發(fā)現(xiàn)業(yè)務(wù)運(yùn)行問題并分析數(shù)據(jù)。
(四)實(shí)施環(huán)境
本次性能基線系統(tǒng)建設(shè)主要部署數(shù)據(jù)采集模塊、基線分析引擎模塊、應(yīng)用代碼追蹤監(jiān)控模塊以及系統(tǒng)展示平臺(tái),實(shí)施環(huán)境如表1所示:
通過(guò)實(shí)施應(yīng)用性能基線系統(tǒng),實(shí)現(xiàn)了系統(tǒng)的數(shù)據(jù)采集、模型生成、關(guān)鍵業(yè)務(wù)梳理、業(yè)務(wù)統(tǒng)計(jì)分布、基線預(yù)測(cè),為業(yè)務(wù)系統(tǒng)的基線管理、基線監(jiān)控、基線梳理、基線生成提供可靠技術(shù)支撐;引入代碼級(jí)監(jiān)測(cè)與管理系統(tǒng),在性能優(yōu)化前后明確指出需要優(yōu)化的語(yǔ)句以及代碼,使得優(yōu)化工作更具針對(duì)性及深度,切實(shí)幫助系統(tǒng)提升穩(wěn)定性和可用性,消除故障隱患,防止故障發(fā)生,使運(yùn)維管理人員在進(jìn)行系統(tǒng)建轉(zhuǎn)運(yùn)、日常運(yùn)維、日常巡檢、應(yīng)用性能優(yōu)化等多項(xiàng)工作時(shí)加深工作深度、提升工作效率、提升運(yùn)維管理工作精細(xì)化程度,從而降低整體運(yùn)維工作成本。
通過(guò)建設(shè)性能基線平臺(tái),河南省電力公司實(shí)現(xiàn)了重要業(yè)務(wù)基線的自動(dòng)化生成管理,完成了對(duì)重要業(yè)務(wù)系統(tǒng)進(jìn)行業(yè)務(wù)流量監(jiān)控、基線生成、數(shù)據(jù)預(yù)測(cè)等工作,為性能基線在業(yè)務(wù)系統(tǒng)運(yùn)維工作中的應(yīng)用作出了有益的探索。后續(xù)還將結(jié)合人工智能(AI)和機(jī)器學(xué)習(xí)(ML)技術(shù)進(jìn)一步完善智能化的性能基線管理,提升對(duì)業(yè)務(wù)系統(tǒng)運(yùn)行狀態(tài)的準(zhǔn)確預(yù)測(cè),保障業(yè)務(wù)系統(tǒng)健康、穩(wěn)定的運(yùn)行。
作者單位:國(guó)網(wǎng)河南省電力公司信息通信公司