劉穎+李欣+趙西林+徐敏+尚勇


摘要
本文在詳細分析了國家電網西北分部信息系統應用性能管理的基礎上,采用理論分析與實踐結合的研究方法,建設了一種新的基于代碼分析的應用性能管理平臺。通過可視化的業務系統代碼執行過程的關鍵指標,并結合現有網絡性能分析平臺,對影響業務性能問題的代碼進行主動分析,快速識別潛在的風險點,為業務應用性能提升提供有效、可靠、科學的數據支撐,不斷提高應用系統性能和用戶體驗滿意度,提升IT系統核心價值。
【關鍵詞】應用性能管理 代碼分析 關鍵指標 用戶體驗
國家電網公司高度重視信息化工作,其基礎設施、硬件設備、應用系統、平臺軟件等軟硬環境建設水平得到快速提高。因此,對提高信息通信運行管理水平提出了更高的要求,要求各下屬單位豐富系統運維監控手段,提高運維保障能力,提升系統運行故障處理效率,保障系統安全穩定運行,實現對應用系統性能全過程狀態監控的功能,提升運維人員在代碼監控、內存監測、指標數據關聯、監控資源整合等方面的能力,從而提高信息通信運行管理水平。
1國家電網公司西北分部現狀
國家電網公司西北分部(以下簡稱西北分部)現有重要系統數十套,覆蓋了規劃、建設、檢修、運行、人力資源、財務、物資等多個業務領域;目前采用通過流量分析的方式,實現了包括應用性能監測、應用性能問題定位、性能問題報警及追溯、應用流量自動梳理在內的多項功能,并與短信網關系統聯動實現了應用性能問題快速報警的效果。但隨著業務系統的復雜度提升,在運維工具、管理體系方面還存在提升的空間,這體現在:
1.1缺乏代碼級的性能監控
目前缺失了針對應用程序代碼級以及數據庫SQL執行效率的監測功能,這部分功能的缺失,帶來了運維工作中的盲點,一些由代碼引起的問題無法得到快速的分析和解決。
1.2應用平臺運行參數關聯分析能力仍需要提面
目前己經完善了基于網絡數據的性能分析,但對于業務代碼執行效率與平臺參數之間的關聯關系快速分析存在欠缺,無法幫助管理人員快速定位問題根源,迅速發現和解決系統緩慢問題。
1.3對應用程序運行時內存消耗分析及監控的缺失
內存泄露問題長期影響程序的穩定性,是部分應用程序崩潰的根本原因。其具備難以監控,潛伏期長的特點,在運維管理工作中難以定位和處理。
針對這些情況,西北分部從實際情況出發,以網絡流量數據分析平臺為基礎,通過建設基于代碼級別的性能分析平臺,面向業務,完成端到端的用戶體驗監控,實現代碼類問題的定位以及處理,使得這類問題得到有效解決,最終達到提升業務連續性管理水平,提升運維管理水平的目的。
2可視化應用性能的實踐
2.1建設目標
(1)部署代碼級監測軟件,提升軟件代碼層次問題性能問題處理能力,形成完整的性能管理工具體系;
(2)拓展應用性能管理工具覆蓋面,從原有的巡檢工作拓展至巡檢工作以及建轉運工作,使系統得到更深層次的應用;
(3)通過信息系統代碼監控、流量監控、可用性監控體系的完善和搭建,形成針對信息系統運行指標的完整監控體系,有效保障信息系統整體運行質量。
2.2系統實現
根據西北分部網絡及應用性能可視化的需求,結合西北分部現有環境,本系統采用嵌入式的數據采集引擎進行代碼運行指標數據采集,之后將采集到的代碼執行效率數據以及運行相關信息存儲至數據庫內,系統代碼性能分析引擎則對這些采集到的數據進行處理,在代碼執行效率分析、內存分析、參數關聯分析、數據庫語句分析引擎的共同作用下,為用戶提供代碼實時監測、關聯分析報告、數據庫深度監測功能。系統架構如圖1所示。
2.3實施方法
本次系統建設在進行充分的需求調研基礎上,在實踐的過程中對原理和方法進行研究分析與驗證,在后期進行綜合測試和優化以確保業務監控的準確性和全面性。
2.3.1需求調研
對現有應用運行情況及信息系統性能管理工作具體需求進行整體調研,確定管理范圍、業務架構及系統功能架構等內容。
2.3.2業務梳理
制定包含業務系統相關的負載均衡、服務器、中間件、數據庫等組件的完整調研模板,與應用管理部門進行有效溝通,形成系統調研報告,為后期的部署驗證工作提供數據支撐。2.3.3部署驗證
根據需求調研報告及系統調研報告在監控平臺內進行軟/硬件部署、業務監控定義、視圖定義、報警定義以及報表的定制等部署工作并通過客戶確認、架構分析等手段驗證部署的正確性及有效性。
2.3.4經驗總結
利用應用性能管理系統,進行持續的日常性能監控、問題發現定位、問題處理工作,形成以業務系統特性為基礎的經驗分類總結庫,根據各類型應用的獨立特點形成性能管理經驗及監控模型,以便在后期類似業務上線時采用類似模型進行監控,利用歷史運維經驗提升問題定位及處理速度。
3系統實施效果
3.1實施環境
本次基于代碼的系統建設主要部署信息系統響應采集組件、業務邏輯分析組件、業務性能分析組件以及系統展示平臺,實施環境如表1所示。
3.2系統部署
系統采用業界成熟的技術體系進行設計,數據采集引擎部分采用.NET以及JAVA平臺提供的標準性能數據獲取接口進行數據獲取,對系統影響小,獲取數據穩定性高;在數據存儲部分,系統采用內存數據庫進行設計,保證系統性能數據查詢快捷、使用方便;在展示層部分,系統使用J2EE架構進行展示設計,實現了與原有系統的集成。
3.3系統功能
目前系統已經完成的功能包括:集中監控,實時資源監控,代碼分析功能,系統統計報表、系統告警五大核心功能。
3.3.1集中監控功能endprint
通過全局吞吐量,監控當前域中全部應用的訪問吞吐;通過雷達圖展現業務系統各時間段響應時間事務的占比;通過對比曲線顯示當前時間段中各業務系統每臺服務器的活動服務數值的趨勢圖;通過事務響應分布圖,每個點表示一個事務,顯示實時事務分布。利用集中監控功能,能夠讓管理員快速掌握業務系統當前的性能分布情況,可以根據用戶的事務響應時間值,快速介入性能不理想的業務響應,提高用戶的應用使用體驗度。
3.3.2實時資源監控功能
實時資源監控功能包括所有服務器的實時監控參數信息,通過選擇服務器可以對指定服務器監控信息的顯示與隱藏,其中包含被監控服務器的實時活動服務、實時服務處理率、實時請求平均響應時間、實時服務器并發用戶數、實時服務器系統CPU使用率百分比、實時服務器內存使用堆棧百分比,以及實時服務器數據庫連接數。
3.3.3代碼分析功能
系統能夠監控業務系統每筆交易時,義務系統內部的代碼執行過程、SQL語句效率以及系統異常情況,包括交易響應時間、交易最小響應時間、交易最大響應時間、SQL語句、SQL調用次數、SQL響應時間、SQL最小響應時間、SQL最大響應時間、異常發生次數、異常名稱等詳細內容,讓管理員明確了解業務內部執行的過程以及性能瓶頸所在,快速定位問題。
3.3.4系統統計報表功能
系統能夠提供多種統計分析報表功能,包括告警統計、應用統計、SQL響應時間、應用響應時間等內容,方便管理員對業務系統的運行狀態進行宏觀分析,提升業務系統的穩定運行。
3.3.5系統告警功能
系統能夠根據所有監控指標進行閾值設定并根據運行值進行告警,并能夠根據告警產生時間和應用URL查看該告警的交易事務、代碼執行過程及其詳細的交易事務性能數據,快速定位問題。
3.4應用效果
經過5個多月的系統建設和不斷地分析驗證,在西北分部構建了完整的、基于代碼分析的應用性能可視化監控平臺,并完善的業務性能管理規范,故障處理效率得到顯著提高,系統運維處理水平也得到一定程度的提高。目前己經完成監控的業務系統包括財務管控、數據交換、短信平臺、16000、呼叫中心、內網網站、企業門戶、統一數據交換平臺、TMS、統一數據監控與保護平臺等多套業務系統。通過該平臺,先后發現了TMS系統數據庫執行異常導致服務響應超時、財務管控系統數據庫語句一次獲取太多行數、呼叫中心系統數據未執行關閉、企業門戶系統數據庫結果資源未釋放等問題,經過分析解決后,大幅提高了業務系統的性能。
3.4.1最終用戶體驗監測
實現了端到端的最終用戶訪問應用的性能監控,包括應用響應時間,響應的成功率和質量等。并進一步通過主動式的模擬最終用戶監測來進行應用可用性的評估,通過對用戶體驗、網絡、應用以及服務的監控來保證應用的高可用和體驗效果。
3.4.2應用拓撲邏輯發現和可視化
通過系統平臺能夠自動識別應用在執行的過程中涉及的軟硬件架構和組件,并且可以描繪出應用交付鏈中相互通訊的各種組件的訪問路徑,將應用的調用鏈通過拓撲圖,調用圖等圖表可視化,直觀地展示應用的拓撲邏輯,提供了全鏈路的應用拓撲圖。
3.4.3用戶定義的事務剖析
通過系統平臺能對特定的用戶訪問特定的事務請求進行完整的追蹤,包括在整個請求過程中涉及到的服務和組件。
3.4.4應用組件深度鉆取
利用性能分析平臺實現運維數據分析,通過對復雜事件處理,統計模式發現與識別,非結構化數據索引、查詢和推斷,拓撲邏輯分析,多維數據庫檢索和分析等技術,實現對大量的各維度性能數據進行實時的運算和處理,從而對應用的運維和優化起到輔助決策和驅動作用。
4結束語
面對復雜的業務架構,西北分部結合了網絡性能分析工具和基于代碼分析的應用性能分析工具,建立了統一的業務系統性能分析平臺,利用業務架構,結合數據流關系,通過時間相關性等算法,發掘有業務價值的告警,并直接分析給出告警的問題根源。同時,在該平臺及工具的體系上建立了可行的、有效的應用性能監控體系方案,致力于發現、診斷并定位復雜應用的性能瓶頸和故障,以保證應用達到預期的服務水平和用戶體驗,提升系統運維水平。
參考文獻
[1]2016年應用性能管理APM行業分析報告.
[2]應用性能管理(APM)的價值分析.
[3]臧冬松等.一種大規模分布式應用性能分析系統[J].計算機工程,2012(24).endprint