APM for .NET評測系列:OneAPM vs SCOM

隨着.NET技術的開源和推廣,愈來愈多的企業選擇使用.NET語言開發業務系統,其性能問題是你們共同面臨的最棘手的問題。 筆者在此向你們分享一款國內還算靠譜的產品OneAPM,來管理業務系統的性能及Http ERROR。並從安裝,性能,功能等幾個方面與SCOM進行一個簡要的對比。數據庫

  安裝   OneAPM:一鍵安裝   OneAPM for .NET提供免費版和付費版。免費版開放了響應時間,http error監控等經常使用功能,一些深度剖析的功能須要付費,不過註冊後能夠試用15天。   安裝方面基本上是一鍵安裝,很是簡單,步驟以下:   註冊OneAPM官網帳號   官網下載.NET Agent進行一鍵安裝。   部署.NET應用程序到本地IIS並重啓IIS,便可使用。   另外OneAPM支持的操做系統包含Windows Server 200三、Windows Server 200八、Windows Server 20十二、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擁有面向真實用戶體驗的性能管理,視圖更直觀易懂,界面更加人性化。.net


     注:但願讀者和小編一塊兒感覺OneAPM,小編也是初學者,文檔有寫的不妥的地方,歡迎指出,個人郵箱是corporation2013@163.com,但願你們一塊兒交流進步!

相關文章
相關標籤/搜索