APM for .NET評測系列:OneAPM vs SCOM
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 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,希望大家一起交流進步!
相關文章
- OneAPM大講堂 | 誰更快?JavaScript 框架效能評測JavaScript框架
- OneAPM 工作兩年總結
- OneAPM大講堂 | 提高JavaScript效能的30個技巧JavaScript
- OneAPM大講堂 | Java 異常日誌記錄最佳實踐Java
- 報名|「OneAPM x DaoCloud」技術公開課:Docker效能監控!CloudDocker
- 關於 OneAPM Cloud Test DNS 監控的幾個重要問題CloudDNS
- OneAPM大講堂 | Metrics, Tracing 和 Logging 的關係
- iOS原生 VS Flutter評測iOSFlutter
- React Native VS Flutter評測React NativeFlutter
- OneAPM NI 基於旁路映象資料的真實使用者體驗監控
- APM的蝴蝶效應:程式碼級應用效能監控平臺OneAPM宣佈7000萬元人民幣B輪融資
- OneAPM大講堂 | 監控資料的視覺化分析神器 Grafana 的告警實踐視覺化Grafana
- 站長、運維必備| 網站可用性監控產品 OneAPM Cloud Test 上線運維網站Cloud
- MacBook Pro (2021) vs MacBook Air vs MacBook Pro 全面評測MacAI
- OneAPM大講堂 | 基於影像質量分析的攝像頭監控系統的實現
- PHP vs Node.js:真正的評測資料PHPNode.js
- 【VMCloud雲平臺】SCOM配置(十四)-安裝SCOM日誌審計(ACS)Cloud
- TheServerSide.com釋出最新J2EE vs. .NET效能評測報告 (轉)ServerIDE
- 想要完成系統效能評估? 試試【雲壓力測試 + APM】的端到端壓測解決方案
- 阿里VS華為-開源映象站體驗及評測阿里
- 測評丨NXP LS系列產品網路效能測試
- Erda MSP 系列 - 以服務觀測為中心的 APM 系統設計:開篇詞
- ASP.NET 系列:單元測試ASP.NET
- J2EE vs. NET, Java vs. C#:比較公正的評價 (轉)JavaC#
- 微軟為VS.net新增單元測試功能微軟
- Redux vs Mobx系列(-):immutable vs mutableRedux
- SCOM2012部署系列之十三:監控Exchange server 2013 RTMServer
- Elastic APMAST
- .Net vs WindowsWindows
- AI 程式設計助手測評:GitHub Copilot vs 豆包 MarsCodeAI程式設計Github
- ASP.NET 系列:單元測試之Log4NetASP.NET
- 經緯恆潤智慧駕駛開發、測試評估平臺—智慧駕駛測評工具系列(ICVT)
- ASP.NET 系列:單元測試之SmtpClientASP.NETclient
- ASP.NET 系列:單元測試之StructureMapASP.NETStructREM
- MacBook M1 Pro VS MacBook M1 Max 評測對比Mac
- TechEmpower 22輪Web框架 效能評測:.NET 8 戰績斐然Web框架
- 詳解ElasticAPM實現微服務的鏈路追蹤(NET)AST微服務
- 評測姬