您好,登錄后才能下訂單哦!
隨著.NET技術的開源和推廣,越來越多的企業選擇使用.NET語言開發業務系統,其性能問題是大家共同面臨的最棘手的問題。
筆者在此向大家分享一款國內還算靠譜的產品OneAPM,來管理業務系統的性能及Http ERROR。并從安裝,性能,功能等幾個方面與SCOM進行一個簡要的對比。
安裝
OneAPM:一鍵安裝
OneAPM for .NET提供免費版和付費版。免費版開放了響應時間,http error監控等常用功能,一些深度剖析的功能需要付費,不過注冊后可以試用15天。
安裝方面基本上是一鍵安裝,非常簡單,步驟如下:
注冊OneAPM官網賬號
官網下載.NET Agent進行一鍵安裝。
部署.NET應用程序到本地IIS并重啟IIS,即可使用。
另外OneAPM支持的操作系統包含Windows Server 2003、Windows Server 2008、Windows Server 2012、Windows Vista、Windows7。
流程如圖所示:
官網查看應用性能情況
SCOM:對比而言安裝比較復雜,需要很多先決條件
SCOM屬于System Center產品組件,目前Microsoft不提供免費版使用,需要付費或者在一定的試用期內使用。其中標準版和數據中心版都包含SCOM組件,價格分別是1,323和3,607。
SCOM的安裝需要一些先決條件,比較繁瑣:
需要開啟服務器管理器功能,并添加一些角色和功能。
需要安裝System CLR Types for SQL Server 2012。
需要安裝Reporting Viewer 2012。
安裝Operations Manager。
導入Windows Server OS系統管理包。
導入APM對應IIS平臺管理包。
導入APM管理包。
建立.NET APM監視,并根據提示重新啟動IIS。
服務器自動啟動APM監視服務,并等待Web應用程序數據收集。
另外SCOM的Web控制臺和管理服務器功能需要的操作系統版本是Windows Server 2008 R2 Service Pack 1或更高的版本,并只能安裝在Active Directory目錄服務的網絡上。
流程如圖所示:
性能
在開啟代碼級性能監控的同時,對系統自身性能的影響往往是最受關注的問題。
OneAPM:低于3%,有國內大型企業使用的案例
從Oneapm官方給的數據來看,這個值是低于3%。即安裝.net探針后,對系統的CPU及內存的影響低于3%,一般這個程度的影響對系統來說是能夠被接受的。
從使用案例上來看,積木盒子、藥房網,中國移動等一些大中型企業的生產系統都在用這個產品。
SCOM:未發現官方性能數據及案例
目前Microsoft System Center官方并未給出開啟代碼級監控功能后,實際的性能損耗。
從使用案例上來看,目前沒有了解到國內中大型企業在生產系統中使用SCOM的代碼級監控的案例。
功能
下文中我將主要從代碼級Trace、SQL以及Error三點常用功能對比OneAPM以及SCOM。
代碼級Trace:能夠定位到緩慢的方法類及Sql語句。
OneAPM
當系統發生錯誤和緩慢時,OneAPM提供了trace功能能夠定位到代碼中緩慢的方法類和Sql預計。
如圖所示,我們可以看到OneAPM對Web事務(即一次http請求)的抓取。在左側頁面中,顯示了Web事務的列表,用戶可以查看事務的耗時,定位哪些http請求執行緩慢。
對于需要做深度剖析的Web事務,可以點擊詳情,查看每個組件及方法類的性能。
我們可以詳盡地看到Trace耗時的時間戳。耗時百分比中將耗時最慢因素進行了紅色標識,可以通過方法跟蹤,輔助程序開發人員或者IT團隊來修復問題。甚至,OneAPM還可以診斷出執行緩慢的SQL語句。很明顯,一條Select語句是關鍵影響因素。
SCOM:能夠定位到緩慢的方法類及Sql語句:
Application Diagnostics控制臺是System Center 2012 - Operations Manager中.NET應用程序性能監視的事件管理系統。用戶可以使用Application Diagnostics控制臺監視部署的.NET應用程序是否出現減速、故障和失敗,并且可以確定問題的來源。
在Application Diagnostics控制臺中,可以查看網站APM性能及應用程序的錯誤,本質就是APM監視網站,提供給應用程序人員來做應用程序的監視。
同OneAPM相似,Application Diagnostics也為兩種事件提供監測:一種與應用程序性能相關,一種與應用程序失敗和錯誤(通常為鏈接或安全性問題)相關。我們這一小節主要簡述程序性能,有關應用程序的失敗和錯誤將在下文涉及。
如圖所示,打開Application Diagnostics網站,可以查看某個應用的APM性能。
選擇其中一個應用后,可以查看該應用下的其中一個請求,可以查看到該請求的耗時體驗。SCOM也為用戶提供了請求的堆棧信息,為運維人員向下挖掘到堆棧。
通過這些堆棧信息可以獲取到事件發生的順序,在視圖中還可以看到花費時間的概述以及問題的所在,以及提供了代碼級別的APM數據。
數據庫監控
OneAPM:緩慢的Sql列表及Sql trace
OneAPM不僅提供代碼級的Traces,還提供了Database監控,與Web事務監控相似,SQL性能監控為我們提供了不一樣的視角。從圖中我們可以看到左側羅列出的SQL語句,OneAPM為我們診斷出了每一個SQL語句的平均響應時間以及它們的吞吐量。
點擊一條你所關心的數據,就會在右側頁面看到它的詳細情況。
與Web事務對應的Traces相似,我們同樣可以看到某條SQL語句對應的多次慢SQL情況。
點擊某一條所關心的SQL情況,就可以看到詳情。OneAPM診斷出該條SQL語句的詳細信息,包括調用該SQL的URL,方法類,執行計劃等。
SCOM:未發現數據庫監控功能
目前,筆者暫沒發現SCOM提供像OneAPM一樣的SQL維度視角的性能監測功能,如果有讀者提出異議,非常歡迎指正。
對于Http ERROR的監控
OneAPM:抓取Http ERROR并抓取Error Trace
OneAPM默認監控非404的Http請求錯誤,通過OneAPM的監測,可以診斷出錯誤信息的詳情。包括發生該錯誤的URL,代碼棧,錯誤發生時間等信息。如圖所示。
SCOM
上文提到的Application Diagnostics為錯誤事件提供監測,一般與應用程序失敗和錯誤(通常為鏈接或安全性問題)相關。打開Application Diagnostics網站,可以查看某個應用的程序錯誤信息。
框架/平臺
基于.NET,兩款產品對框架/平臺上的支持情況如下:
OneAPM:支持主流
OneAPM支持所有的.NET語系,包含VB.NET、C#和C++/C LI for .NET 2.0及以上版本。
OneAPM支持的主要程序框架,包含MVC 2.0、MVC 3.0、MVC 4.0、ASP .NET WebAPI、ASP .NET Web Forms和SOAP-based Web Services。
OneAPM支持的框架為Microsoft .NET Framework 2.0以上版本。
SCOM:基于Microsoft .NET Framework
SCOM同樣支持所有.NET語系,并支持基于Microsoft .NET Framework的應用程序。支持IIS5/6/7/8。
結語
從上述比較來看,我們發現OneAPM似乎更適應本土化用戶使用習慣。
從安裝的角度看,OneAPM安裝更便捷,并且提供免費版,付費版也比SCOM價格低。
從性能的角度看,有很多國內的大中型的企業用戶都在使用這個產品。
從核心功能點的角度看,OneAPM與SCOM都有深入診斷應用程序性能的能力,兩者都能提供代碼級別的應用性能診斷和故障定位,以及詳盡的Traces記錄和錯誤診斷,但OneAPM還提供對Database視角分析的性能監測,不僅僅提供Web事務的分析,而且使用上更加直觀,簡單。對此,SCOM是沒有SQL維度的。
從可用性與性能體驗方面的角度看,OneAPM和SCOM都有各自的機制為IT運營做決策分析,但OneAPM擁有面向真實用戶體驗的性能管理,視圖更直觀易懂,界面更加人性化。
注:希望讀者和小編一起感受OneAPM,小編也是初學者,文檔有寫的不妥的地方,歡迎指出,我的郵箱是corporation2013@163.com,希望大家一起交流進步!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。