論壇文章
效能管理監控平台Vantage Analyzer

應用程式的效能問題長久以來一直都是系統開發人員或是系統維護人員心中一個難以解答的問題,在缺少有效的效能分析平台情況之下,要如何決定應用程式的服務水平及找出對應用程式效能影響最大的元件,都大大地提高應用程式的管理或除錯的難度。

為了要能使應用程式的效能管理更加的便利及直覺化,就必須要引進具備分析程式內部組成元件的應用程式效能監控平台,才能符合系統管理人員及系統開發/維護人員的需求,叡揚資訊為了解決系統維運人員在日常面對到的問題,特別代理了應用程式效能監控平台Vantage Analyzer,它所具備的特性如下:
 *能同時對.NET及J2EE程式做效能分析
 *支援客製化的效能儀表板,協助客戶立即了解目前系統效能
 *能深入.NET及J2EE程式的交易層面的效能分析
 *能分析具有效能問題的SQL指令、方法(Method)及交易
 *支援分析Memory Leak
 *及時的J2EE及.NET效能監控並可線上改變監控參數而不必重啟伺服器或服務
 *支援CPU時間及實際時間(Wall-clock)回應時間分析
 *即時的效能問題示警
 *極小的CPU及記憶體的負載,支援在正式環境做監控
 *能以不同的面向分析具效能問題的元件

 

定位整體應用程式效能瓶頸

Vantage Analyzer為了協助系統維運人員能盡速的找出影響效能最大的元件,會先將在監控過程中所有的動作忠實地記錄在Transaction Explorer中,再配合上Critical Path的觀念,將對整個效能影響最大的程式執行路徑找出來,藉此協助系統管理人員能盡快找出在分析過程中對效能影響最大的元件。

由圖一可以發現藉由Critical Path的使用可以很容易找到影響效能最大的交易及該交易所使用的SQL指令,利用這個方式可以協助系統管理人員先定位出效能除錯的方向。接下來再利用Method Hotspot以各個不同面向來分析有效能問題的方法,例如最大回應時間、最短回應時間、最近90秒的回應時間、被呼叫的次數及超過設定上限的次數等。

圖二及圖三分別以最長回應時間及平均回應時間來排序,利用這樣的交叉分析就可以找到對具有效能問題的方法有那些,以這個例子來說,最長回應時間及平均回應時間前五名的方法可由表一及表二所示:
利用多面向的分析讓系統管理人能更容易的判斷應該由那個元件率先著手起。所以由表一及表二的綜合分析來看,應該由doPost及Process二個方法開始做效能調校。

由於使用者和應用程式溝通時是以交易為主要的方式,例如登入系統、查詢帳款等交易流程,所以Vantage Analyzer也支援了以交易為主的效能分析,在Stalled Thread中列出了超過使用者設定的交易執行時間上限的所有交易,詳細列出該交易執行的方法及SQL指令有那些,根據CPU運算、SQL指令執行時間及IO存取時間三個量測指標來判斷該交易可能的效能瓶頸點為何。

圖四列出了在監控過程中所有的SQL指令,同樣的利用平均回應時間及最長回應時間的交叉分析,協助系統管理人員找出具有效能問題的SQL指令,並以此為依據再做效能調校。   

有效的解決Memory Leak

對系統管理員或程式開發人員來說Memory Leak是一項非常難以處理的問題,特別是當面對一個由許多人合力完成的大型應用程式。Memory Leak之所以難以解決除了它不會因為特定的行為模式而觸發之外,當系統管理人員要在其他人所寫的程式碼之中找出會引發Memory Leak的元件也是一項挑戰。為了協助系統管理人員解決這項問題,Vantage Analyzer提供了Memory Leak分析的功能,協助系統管理人員能找出潛在性的記憶體問題。

在圖五的記憶體分析中可以看出有某個程式產生了5,000的物件,同時佔用了6,000kb的記憶體空間,因而可以判斷該系統具有潛在性Memory Leak的危機,接下來的問題在於是那個程式裡的元件造成這個問題。圖六將該記憶體區塊的配置情況展開,可以發現真正佔用記憶體的元件是doPost這個方法,而它產生了2,000個元件佔用了9.9mb的記憶體,因此就可以要求程式維護人員針對這支程式去做調整,並且將修正過的程式再做一樣測試。

 

Vantage Analyzer功能強大易上手  有效提升工作效率

在沒有合適的效能監控平台協助之下,應用程式的執行對系統管理員,甚至對於系統開發人員來說如同是一個黑盒子一般令人難以了解它真正的行為模式,當導入了效能監控平台來管理應用程式的效能之後,原先的難題就能迎刃而解,此外,人性化的設計讓系統管理人員不需要太複雜的教育訓練即可上手,所以由叡揚代理的效能監控平台不只是功能強大並且容易上手,讓系統管理人員及系統開發人員都能更了解應用程式的問題,能使工作更有效率,你還在等什麼?