51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 11715|回复: 2

APM for .NET评测系列:OneAPM vs SCOM

[复制链接]

该用户从未签到

发表于 2015-5-12 01:25:54 | 显示全部楼层 |阅读模式


随着.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,希望大家一起交流进步!
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-19 08:21 , Processed in 0.065630 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表