隨著應(yīng)用框架的不斷演化,分布式應(yīng)用能夠進行快速的構(gòu)建,而且能夠在任何平臺上進行運行。但對企業(yè)級開發(fā)者而言,最終目標(biāo)不應(yīng)該是快速地發(fā)布這些軟件,而是發(fā)布高性能的軟件。當(dāng)然,如果想開發(fā)真正高性能的軟件,我們還需要借助一些工具,比如目前公認(rèn)最強大的應(yīng)用性能管理(APM)工具。
為什么APM這么重要?
眾所周知,Gartner針對應(yīng)用性能管理「APM」領(lǐng)域定義了五個功能維度:真實用戶體驗管理,應(yīng)用拓撲的發(fā)現(xiàn)與可視化,用戶自定義業(yè)務(wù)分析,應(yīng)用組件深度監(jiān)控,IT運營分析。通過這些功能,APM能夠幫助企業(yè)用戶實現(xiàn)面向業(yè)務(wù)的端到端的運維管理和真實用戶體驗分析,最終為業(yè)務(wù)分析提供數(shù)據(jù)支撐。
此后,企業(yè)通過這些數(shù)據(jù)就可以從IT系統(tǒng)的行為、狀態(tài)、配置、故障和事件中,自動產(chǎn)生趨勢預(yù)判和商業(yè)洞察,真正意義上將運營數(shù)據(jù)轉(zhuǎn)化為企業(yè)的競爭優(yōu)勢。所以,現(xiàn)在越來越多的企業(yè)開始意識到APM的價值。
企業(yè)級開發(fā)者最需要關(guān)注這3個性能問題:
對企業(yè)級開發(fā)者而言,性能的監(jiān)控尤為重要。以互聯(lián)網(wǎng)金融的一位企業(yè)級客戶為例,APM能夠生成應(yīng)用和業(yè)務(wù)的全景視圖,告訴IT部門前端用戶的一個轉(zhuǎn)賬操作,在系統(tǒng)內(nèi)部每一步花了多長時間,占用多少資源,運行了哪些代碼、參數(shù)、SQL語句,如何調(diào)用外部服務(wù)。
在業(yè)務(wù)受到影響后,能提前預(yù)警,工程師就能夠快速定位到代碼級的故障原因,幫助快速實現(xiàn)性能優(yōu)化,避免受到業(yè)務(wù)損失。
現(xiàn)在,國內(nèi)的企業(yè)級市場正在蓬勃發(fā)展,而且企業(yè)用戶對產(chǎn)品要求,跟傳統(tǒng)的相比也有了很大的提高。所以對企業(yè)級開發(fā)者來說,系統(tǒng)的穩(wěn)定性、高可用等這些性能問題變得越來越重要。下文介紹了企業(yè)級開發(fā)者應(yīng)該重視的3個性能監(jiān)控指標(biāo):
1、確保影響業(yè)務(wù)性能的關(guān)鍵事務(wù)
在Web應(yīng)用中,關(guān)鍵事務(wù)對業(yè)務(wù)的影響尤為重要。對企業(yè)級開發(fā)者而言,應(yīng)該密切地監(jiān)控這些事務(wù),確保用戶體驗不受到影響,尤其是要避免這些關(guān)鍵事務(wù)會對業(yè)務(wù)產(chǎn)生負面影響。
作為國內(nèi)APM領(lǐng)域的新興領(lǐng)軍企業(yè),OneAPM建議企業(yè)級開發(fā)者應(yīng)該對終端用戶體驗、應(yīng)用響應(yīng)時間、調(diào)用次數(shù)、錯誤率進行綜合的監(jiān)控,設(shè)置警報機制,特別是對性能欠佳的關(guān)鍵事務(wù),更要設(shè)置提前預(yù)警。
目前,OneAPM的ApplicationInsight就可以幫助企業(yè)級開發(fā)者對關(guān)鍵業(yè)務(wù)進行深度代碼解析,在采樣周期內(nèi)獲得更多業(yè)務(wù)執(zhí)行代碼的細節(jié)信息,真正幫助企業(yè)用戶實現(xiàn)關(guān)鍵業(yè)務(wù)的深度監(jiān)控。
企業(yè)級開發(fā)者還可以根據(jù)業(yè)務(wù)管理的需要,通過業(yè)務(wù)類型或參數(shù)自定義監(jiān)控業(yè)務(wù)服務(wù)的細粒度,通過ApplicationInsight,企業(yè)管理者就可以了解各個子業(yè)務(wù)運行狀態(tài)和執(zhí)行細節(jié)。
2、能夠追蹤部署歷史
對企業(yè)級開發(fā)者而言,每次推出新軟件產(chǎn)品時,他們很難感知到這些新應(yīng)用部署對原來系統(tǒng)的影響,尤其是涉及到性能問題,大多數(shù)企業(yè)級開發(fā)者都非常頭疼這個問題。
部署報告「DeploymentReports」可以幫助企業(yè)級開發(fā)者了解最終的影響情況,通過數(shù)據(jù)分析,他們可以了解所有新應(yīng)用部署對終端用戶、應(yīng)用服務(wù)器、響應(yīng)時間、吞吐量和錯誤率的綜合影響情況。
3、建立好的報警機制
其實,一個好的報警機制會在系統(tǒng)出現(xiàn)異常變化時,以最快的速度向企業(yè)級開發(fā)者發(fā)出報警通知。當(dāng)然,報警也僅僅是其中的一個方面,最重要的一點,就是提供最快速高效的解決方案。
現(xiàn)在市面上有很多報警工具,但是這些工具往往只能告知用戶發(fā)生了崩潰問題,但是無法定位到問題所在。還需要運維人員不斷的查詢?nèi)罩尽_@種方式最大的問題在于,對問題處理非常的不及時,浪費了大量的時間和人力成本。
目前,OneAPM可以對關(guān)鍵性能指標(biāo)設(shè)置報警。當(dāng)系統(tǒng)運行時,如果某項指標(biāo)達到預(yù)定的閾值,后臺就會自動通過郵件、短信、管理界面等多種方式通知相關(guān)負責(zé)人。
總之,對企業(yè)級開發(fā)者而言,他們面臨的系統(tǒng)相對比較龐大,而且非常復(fù)雜。每個系統(tǒng)中都涵蓋很多小的子系統(tǒng)。如果發(fā)現(xiàn)性能問題,不能進行準(zhǔn)確的定位,那么解決問題的困難也會成倍的增長。
OneAPM致力于幫助企業(yè)級開發(fā)者清晰把握整體的架構(gòu)部署,實時展現(xiàn)全業(yè)務(wù)拓撲圖,幫助企業(yè)從用戶角度優(yōu)化關(guān)鍵事務(wù)的代碼,并進行故障預(yù)警和定位,保證業(yè)務(wù)的連續(xù)性,最終提升企業(yè)收益和品牌形象。