王強(qiáng)
摘要:針對(duì)企業(yè)因數(shù)據(jù)規(guī)模擴(kuò)大而導(dǎo)致的信息系統(tǒng)運(yùn)維困難問題展開研究。以應(yīng)用性能管理(APM)技術(shù)為核心,采用模擬用戶監(jiān)控與監(jiān)聽型監(jiān)控相結(jié)合的數(shù)據(jù)采集方式,圍繞企業(yè)在應(yīng)用性能管理方面的實(shí)際需求,設(shè)計(jì)和實(shí)現(xiàn)了一款綜合型監(jiān)控管理平臺(tái)。實(shí)現(xiàn)了終端性能監(jiān)控、數(shù)據(jù)庫(kù)性能監(jiān)控、故障定位和關(guān)鍵事務(wù)跟蹤等功能,顯著提高了管理效率。
關(guān)鍵詞:應(yīng)用性能;用戶體驗(yàn);APM;監(jiān)控方案;軟件設(shè)計(jì)
中圖分類號(hào):TP393文獻(xiàn)標(biāo)志碼:A文章編號(hào):1008-1739(2018)24-63-3
0引言
在現(xiàn)代信息化社會(huì),隨著企業(yè)規(guī)模的增大和業(yè)務(wù)范圍的擴(kuò)張,其對(duì)應(yīng)的IT系統(tǒng)也日益龐大,網(wǎng)絡(luò)、服務(wù)器和軟件應(yīng)用系統(tǒng)之間的關(guān)聯(lián)也愈發(fā)的錯(cuò)綜復(fù)雜,進(jìn)一步增大了系統(tǒng)運(yùn)維工作的難度[1],用戶的體驗(yàn)度也因此受到了嚴(yán)重的影響。目前我國(guó)大部分企業(yè)依舊在遵循傳統(tǒng)的IT運(yùn)維模式來實(shí)現(xiàn)對(duì)系統(tǒng)的監(jiān)控與管理,在該模式下,管理的對(duì)象是系統(tǒng)中的各個(gè)組件,包括各類網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備、服務(wù)器、存儲(chǔ)設(shè)備、中間件和數(shù)據(jù)庫(kù)等IT資產(chǎn)[2]。
IT模式針對(duì)結(jié)構(gòu)較為簡(jiǎn)單的系統(tǒng)管理,但該方法缺乏統(tǒng)一的業(yè)務(wù)和IT視圖,只能對(duì)各個(gè)設(shè)備的運(yùn)行狀態(tài)進(jìn)行監(jiān)管,而無法從業(yè)務(wù)角度去衡量IT服務(wù)質(zhì)量,因此在大規(guī)模數(shù)據(jù)存儲(chǔ)及通信的復(fù)雜環(huán)境下,無法實(shí)現(xiàn)高效的端到端的用戶體驗(yàn)和應(yīng)用管理。應(yīng)用性能管理的推出,顯著增強(qiáng)了大規(guī)模數(shù)據(jù)業(yè)務(wù)的處理效率,提高了用戶服務(wù)水平,為企業(yè)贏得了更好的發(fā)展空間。
1 APM
APM是近年來衍生的一種新型應(yīng)用性能管理理念,APM基于便捷的網(wǎng)絡(luò)通信和智能化的數(shù)據(jù)分析技術(shù),可有效整合企業(yè)內(nèi)部規(guī)模龐大且廣泛分布的數(shù)據(jù)資源,并對(duì)其實(shí)施統(tǒng)一的監(jiān)控與管理策略,并從多個(gè)層面對(duì)企業(yè)IT系統(tǒng)進(jìn)行性能評(píng)測(cè)與分析,從全局上把握系統(tǒng)內(nèi)數(shù)據(jù)流的特征[3],其核心功能主要包括以下幾種。
(1)對(duì)關(guān)鍵應(yīng)用的性能進(jìn)行實(shí)時(shí)監(jiān)控
APM技術(shù)首先從應(yīng)用層面反映當(dāng)前網(wǎng)絡(luò)性能水平,通過采用事務(wù)處理過程檢測(cè)和在線嗅探等技術(shù),對(duì)當(dāng)前任一事務(wù)的運(yùn)行狀態(tài)和響應(yīng)時(shí)間進(jìn)行監(jiān)控,以評(píng)估企業(yè)應(yīng)用服務(wù)的性能表現(xiàn)[4]。另一方面,APM還可對(duì)大規(guī)模用戶操作進(jìn)行在線統(tǒng)計(jì)與分析,對(duì)某一應(yīng)用的使用頻率等信息進(jìn)行匯總分析,為企業(yè)改進(jìn)應(yīng)用服務(wù)質(zhì)量提供參考。
(2)對(duì)故障進(jìn)行快速定位與排查
APM技術(shù)可針對(duì)整條數(shù)據(jù)傳輸鏈進(jìn)行監(jiān)控與檢索,從用戶端的瀏覽器、網(wǎng)絡(luò)中的各個(gè)傳輸節(jié)點(diǎn)與中間件服務(wù)器和各類數(shù)據(jù)存儲(chǔ)設(shè)備,全方位地監(jiān)測(cè)業(yè)務(wù)應(yīng)用性能情況[5]。在監(jiān)測(cè)對(duì)象的選擇方面,可通過多種性能參數(shù)參與評(píng)估,如應(yīng)用響應(yīng)時(shí)間、端口數(shù)據(jù)流量及協(xié)議數(shù)據(jù)流量等,從而實(shí)現(xiàn)對(duì)問題原因和故障點(diǎn)的綜合分析與評(píng)價(jià),極大地提高了故障排查的準(zhǔn)確性。
(3)對(duì)系統(tǒng)性能進(jìn)行優(yōu)化
APM技術(shù)提供的全局監(jiān)測(cè)功能,幫助運(yùn)維人員很好地掌握了系統(tǒng)內(nèi)各類應(yīng)用的運(yùn)行狀況以及對(duì)資源的占用情況,實(shí)現(xiàn)了對(duì)中間件、數(shù)據(jù)庫(kù)的執(zhí)行效率的精確分析,找出其中存在的性能瓶頸并加以調(diào)整,從而逐步優(yōu)化整個(gè)系統(tǒng)的應(yīng)用邏輯[6]。
(4)對(duì)應(yīng)用發(fā)展趨勢(shì)進(jìn)行預(yù)測(cè)
通過APM技術(shù)的在線統(tǒng)計(jì)功能,可對(duì)本系統(tǒng)內(nèi)所有應(yīng)用的使用頻率及生命周期進(jìn)行準(zhǔn)確的匯總分析,從而幫助研發(fā)人員對(duì)系統(tǒng)中各種資源的應(yīng)用趨勢(shì)進(jìn)行預(yù)測(cè),使得研發(fā)新應(yīng)用服務(wù)的工作更具針對(duì)性。另一方面,由于采集到的性能數(shù)據(jù)規(guī)模遠(yuǎn)遠(yuǎn)超過以往傳統(tǒng)的監(jiān)控模式,也使得構(gòu)建客觀的性能負(fù)載模型成為可能,從而可對(duì)各種資源配置方案進(jìn)行可靠的仿真與論證,促進(jìn)系統(tǒng)容量的合理擴(kuò)充。
2設(shè)計(jì)與實(shí)現(xiàn)
2.1監(jiān)控方案的設(shè)計(jì)
APM系統(tǒng)同傳統(tǒng)的IT管理系統(tǒng)相比,最大的特點(diǎn)就是更加側(cè)重從應(yīng)用表現(xiàn)方面來對(duì)網(wǎng)絡(luò)和數(shù)據(jù)處理服務(wù)的性能狀態(tài)進(jìn)行監(jiān)測(cè)與分析,并從全局角度快速判定故障與異常的發(fā)生點(diǎn),其數(shù)據(jù)采集的方式主要有以下2種。
①模擬用戶監(jiān)控方式:屬于主動(dòng)監(jiān)測(cè),需要在APM系統(tǒng)中配置一定數(shù)量的測(cè)試終端,用以模擬真實(shí)用戶向各類服務(wù)器發(fā)起服務(wù)請(qǐng)求,從而記錄這些服務(wù)器的反饋信息以及響應(yīng)時(shí)延,最終得出監(jiān)測(cè)對(duì)象較為精確的應(yīng)用運(yùn)行狀態(tài)和服務(wù)質(zhì)量。
②監(jiān)聽型方式:屬于被動(dòng)監(jiān)測(cè),主要通過監(jiān)聽端口鏡像、多路轉(zhuǎn)發(fā)以及鏈路串接等方式收集網(wǎng)絡(luò)中傳輸?shù)挠脩魯?shù)據(jù)包、信令數(shù)據(jù)包(OAM)和管理信息(SNMP MIB/RMON),同時(shí)監(jiān)測(cè)通過這些網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)據(jù)流量,從而對(duì)該區(qū)域內(nèi)的應(yīng)用服務(wù)性能進(jìn)行評(píng)估。優(yōu)點(diǎn)是不會(huì)對(duì)網(wǎng)絡(luò)通信資源和服務(wù)器資源造成額外的消耗,但缺點(diǎn)是僅能獲得局部網(wǎng)絡(luò)的信息,評(píng)估結(jié)論有一定的片面性[7]。
APM系統(tǒng)的設(shè)計(jì)方案采取了以上2種方法有機(jī)結(jié)合的方式,既考慮到了監(jiān)控系統(tǒng)本身對(duì)網(wǎng)絡(luò)性能造成的影響,又確保了數(shù)據(jù)采集的準(zhǔn)確性,保障了網(wǎng)絡(luò)和應(yīng)用服務(wù)的正常運(yùn)行,系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。
2.2軟件架構(gòu)設(shè)計(jì)
系統(tǒng)在設(shè)計(jì)過程中,充分兼顧了IT系統(tǒng)內(nèi)各種應(yīng)用服務(wù)在研發(fā)技術(shù)方面的多樣性,因此可實(shí)現(xiàn)對(duì)基于J2EE, .Net,PHP, Python等技術(shù)開發(fā)的業(yè)務(wù)系統(tǒng)進(jìn)行有效的監(jiān)控。例如,在針對(duì)最主流的J2EE平臺(tái)的APM系統(tǒng)中,就包括了Application探針、Application管理服務(wù)器和Application管理控制臺(tái)3個(gè)主要部件。
(1)Application探針
Application探針部署在各個(gè)應(yīng)用服務(wù)器中的Java虛擬機(jī)上,并與監(jiān)聽設(shè)備協(xié)同完成數(shù)據(jù)采集工作,包括各類J2EE服務(wù)器進(jìn)程的運(yùn)行狀態(tài)、EJB和Java Bean中涉及到的各種對(duì)象與方法的性能參數(shù)等,這些信息匯總分類后,將分別封裝并通過HTTP協(xié)議傳輸?shù)紸I管理服務(wù)器。
(2)Application管理服務(wù)器
接到從Application探針處傳來的性能數(shù)據(jù)之后,Application管理服務(wù)器將數(shù)據(jù)分類存儲(chǔ)至文件和數(shù)據(jù)庫(kù)中,并調(diào)取相關(guān)的分析軟件對(duì)這些數(shù)據(jù)進(jìn)行加工處理,通過直觀的界面向用戶提供可靠的圖形化展示。Application管理服務(wù)器將收到的大量性能數(shù)據(jù)進(jìn)行快速匹配與關(guān)聯(lián),并基于預(yù)設(shè)的風(fēng)險(xiǎn)閾值判定當(dāng)前系統(tǒng)是否有潛在的性能異常問題,以及是否需要啟動(dòng)告警功能。
(3)Application管理界面
為了提高系統(tǒng)的通用性與維護(hù)的便捷性,采用Web技術(shù)設(shè)計(jì)實(shí)現(xiàn)了相關(guān)的人機(jī)交互界面,系統(tǒng)中的所有功能均可在頁面中完成操作,并得到反饋結(jié)果。
3系統(tǒng)實(shí)現(xiàn)
系統(tǒng)的主要功能包括終端性能監(jiān)控管理、頁面性能監(jiān)控管理、數(shù)據(jù)庫(kù)性能監(jiān)控管理、預(yù)警告警管理、應(yīng)用性能診斷與故障定位及對(duì)關(guān)鍵事務(wù)的跟蹤管理等,基本涵蓋了應(yīng)用性能管理的各個(gè)層面,可有效提高系統(tǒng)的監(jiān)控水平。系統(tǒng)的應(yīng)用監(jiān)控管理主界面如圖2所示,包括了多項(xiàng)監(jiān)測(cè)性能指標(biāo),如應(yīng)用系統(tǒng)平均響應(yīng)時(shí)間、單個(gè)事務(wù)響應(yīng)時(shí)間、應(yīng)用吞吐量、應(yīng)用系統(tǒng)性能指數(shù)Apdex、應(yīng)用系統(tǒng)錯(cuò)誤率及SQL語句執(zhí)行情況等。
瀏覽器頁面分析的監(jiān)控界面如圖3(a)所示,用戶可以通過該界面了解受訪頁面列表、頁面平均加載時(shí)間、頁面流量及Browser Trace列表等應(yīng)用前端性能狀況。對(duì)于問題頁面,管理員可以點(diǎn)擊受訪頁面鏈接,進(jìn)入單頁面分析,了解頁面平均加載時(shí)間、網(wǎng)頁流量、頁面開始/跳轉(zhuǎn)時(shí)間、請(qǐng)求重定向時(shí)間、本地緩存加載時(shí)間、DNS解析時(shí)間、TCP傳輸時(shí)間、HTTP請(qǐng)求/響應(yīng)時(shí)間等相關(guān)指標(biāo),幫助用戶進(jìn)行瀏覽器頁面性能診斷。
數(shù)據(jù)庫(kù)SQL語句性能分析界面如圖3(b)所示,可以針對(duì)SQL語句的類型和SQL語句單元進(jìn)行性能排序,其中排序的參考指標(biāo)可以由管理員靈活選擇。針對(duì)性能表現(xiàn)較差的SQL語句單元,系統(tǒng)記錄其執(zhí)行情況,包括SQL語句的上下文環(huán)境、各個(gè)環(huán)境的時(shí)間消耗占比及調(diào)用參數(shù)等,并在界面中陳列顯示。
圖3瀏覽器頁面分析及數(shù)據(jù)庫(kù)SQL語句執(zhí)行監(jiān)控界面
關(guān)鍵事務(wù)的跟蹤管理界面如圖4所示,在實(shí)際運(yùn)維應(yīng)用系統(tǒng)的過程中,存在某些關(guān)鍵的事務(wù),其重要性遠(yuǎn)遠(yuǎn)超過其他一般類型的事務(wù),因此需要對(duì)其精確監(jiān)控。如用戶的登錄、交易等操作,或者從性能角度來看最重要的搜索操作,系統(tǒng)管理者可以根據(jù)運(yùn)維需求靈活地設(shè)定這些關(guān)鍵事務(wù),并設(shè)定合理的性能參數(shù)指標(biāo)。
4結(jié)束語
本系統(tǒng)將APM技術(shù)與傳統(tǒng)的IT監(jiān)測(cè)技術(shù)相結(jié)合,設(shè)計(jì)并實(shí)現(xiàn)了一套新型的企業(yè)級(jí)業(yè)務(wù)性能監(jiān)測(cè)分析系統(tǒng),給出了系統(tǒng)的框架結(jié)構(gòu)與具體的功能設(shè)定方案,實(shí)現(xiàn)了對(duì)系統(tǒng)內(nèi)的數(shù)據(jù)存儲(chǔ)流程、中間節(jié)點(diǎn)設(shè)備運(yùn)行狀態(tài)和應(yīng)用服務(wù)執(zhí)行過程進(jìn)行實(shí)時(shí)的監(jiān)測(cè),在全面收集相關(guān)性能數(shù)據(jù)的同時(shí),還能夠迅速地發(fā)現(xiàn)系統(tǒng)內(nèi)的異常與故障點(diǎn),以及在大規(guī)模歷史數(shù)據(jù)積累的條件下,向管理者提供容量規(guī)劃、性能分析等方面的綜合決策數(shù)據(jù)。
參考文獻(xiàn)
[1]陳鵬.基于Android應(yīng)用的性能監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2015.
[2]張熙.Web應(yīng)用性能優(yōu)化模型及測(cè)試框架的研究[D].南京:南京航空航天大學(xué),2008.
[3]黃鶴.Web應(yīng)用程序的性能測(cè)試研究及其應(yīng)用[D].成都:西南石油大學(xué),2006:65-66.
[4]陳月云,熊高云,劉麗,等.基于流量工程和策略機(jī)制的網(wǎng)絡(luò)資源分配方案[J].通信技術(shù),2009,42(11):141-143.
[5]龍耀華,牛作元.基于APM的網(wǎng)絡(luò)性能管理研究[J].通信技術(shù),2013,12(8):68-72.
[6]王銳,陳麗.應(yīng)用性能管理的設(shè)計(jì)方法研究[J].計(jì)算機(jī)應(yīng)用與軟件,2009,26(9):198-199.
[7] Sebastian E,Gregg R,Srikanth K.Leveraging User-session DatatoSupportWebApplicationTesting[J].IEEETransactions on Soft-ware Engineering,2005,31(3):66-67.