当今的Web应用程序是经过精心设计的,但是却难以捉摸。如果您不小心,它们可能会因代价高昂的错误和缓慢的性能而困扰您的开发团队。
实际上,这是可以预期的。 当今的Web应用程序极其复杂,这意味着需要考虑每个部分和组件。 从性能不佳的SQL查询到Web API调用,甚至对第三方CDN的调用,所有事情都可能给您的应用程序带来问题。 这意味着与开发和维护您的应用程序有关的每个人(包括开发人员,测试人员,SysOps等)都需要共同努力,以确保您的应用程序以最佳性能运行。
当然,您的团队需要必要的工具来监视应用程序的运行状况,并且Raygun正是您所需要的,尤其是在发布Raygun APM时 。
Raygun在监视领域并不陌生。 多年来,Raygun提供了世界一流且易于集成的工具,开发人员可以使用它们来查找和分析代价高昂的应用程序错误,以及监视和报告UX和性能问题。 随着Raygun APM的发布,Raygun拥有一个完整且创新的平台,该平台提供了集中式工具来检测,诊断和解决错误和性能问题,无论它们发生在何处或由何原因引起。
Raygun APM推出了对.NET应用程序的一流支持,并且即将支持.NET Core以及其他语言和框架。
跟踪性能问题
性能下降可归因于多种来源,例如对外部API的查询缓慢,对外部API的过度使用以及跟踪和方法执行缓慢等。 独自或使用错误的工具来找出这些问题,很容易降低团队的生产力。
Raygun APM自动检测并正确分类这些问题,为您提供即时和详细的反馈,并深入了解您的应用程序性能。
仪表板为您提供了应用程序实时性能的概述,提供了有关应用程序收到的请求以及应用程序在每个请求期间使用的工作类型(例如API调用,方法和查询)的惊人而深刻的可视化分析信息。 它通过列出性能最差的应用程序来突出显示应用程序的问题点,而Apdex可让您洞悉用户对应用程序响应时间的满意度。
Raygun APM跟踪的问题由一组规则生成,您可以根据自己的特定需求对其进行定制和定制。 例如,如果您认为10毫秒对于执行SELECT SQL语句来说太长,则可以配置Raygun APM的规则以报告执行时间超过10毫秒的所有查询。
通过Raygun APM,您可以深入了解每个问题的实质内容,并提供特定于发生问题类型的上下文信息。 例如,以下是为运行缓慢的SQL查询收集的信息的屏幕截图。
Raygun APM不仅可以为您提供实际的查询,还可以向您显示执行缓慢的时间以及发生问题的跟踪。
Raygun APM还将每个请求分解为不同的部分,使您可以清楚地了解请求中使用的每个方法,查询或其他资源的性能。
与应用程序性能有任何关系的每一个请求都将被捕获,分类和可用,并带有分析指标供团队研究。 Raygun APM为您提供了无数的数据-它已经找到了应用程序的痛点。 您的团队要做的就是修复它们。
与您的工作流程整合
今天,软件开发团队使用各种服务来开发和部署应用程序。 考虑将GitHub和Bitbucket用于管理和维护您的源代码,将Jira用于项目管理,将Slack用于通信,甚至将PagerDuty用于事件解决-这些都是现代软件开发中使用的所有服务,以促进生产团队的发展。 自然,Raygun APM与这些以及许多其他第三方工作流工具和服务无缝集成。
想象一下,检查在您的产品页面上发现的问题Raygun APM,并能够查看控制器的操作方法的源代码(位于GitHub或Bitbucket),并创建一个Jira问题(或链接到现有问题)而无需离开Raygun APM。 轻松确定团队成员并为团队成员分配问题所需的一切都唾手可得,从而大大减少了解决应用程序中性能问题和软件错误的平均时间。
与APM一起,Raygun还提供崩溃报告和实际用户监视-这些服务共同构成了Raygun平台。 自然,Raygun平台的所有部分在一个无缝的工作流程中合并并共享数据。
价钱
如果您熟悉其他APM解决方案,例如New Relic,那么您将意识到监视应用程序性能的高昂成本。 像New Relic这样的APM提供程序使用的是按服务器定价的结构,有时可能使成本高昂,无法全面了解应用程序的性能。
但是,现代Web开发不仅限于在服务器上运行代码。 我们现在利用容器和微服务来更好地分隔和隔离应用程序的不同部分。 其他APM解决方案再次以成本过高的方式处理容器和微服务。 例如,New Relic不需要每个容器的许可证,但是其客户必须为运行这些容器的服务器购买许可证。
但是,Raygun根据它们为您的应用程序处理的跟踪数量使用不同的定价模型。 这意味着您可以在想要监视的容器,微服务和应用程序所需要的数量尽可能多的服务器(物理服务器和虚拟服务器)上使用Raygun APM,这使得获取完整的应用程序图片更具成本效益。的表现。
Raygun APM可作为独立产品提供,但将其作为Raygun平台的一部分进行购买甚至更具成本效益。 使用Raygun平台,您可以访问崩溃报告,真实用户监视和性能监视,这些功能可以一起使用。
支持.NET
有许多可用的Web开发平台,这些年来,PHP仍然占据统治地位。 但是.NET是用于商业环境的平台,并且随着.NET Core的跨平台发行,.NET在商业领域之外的流行度正在Swift增长。 但是不幸的是,很少有APM提供商专注于.NET,这给Raygun填补了一个巨大的空白,而他们肯定会填补它。
随着Raygun APM的发布,.NET开发人员可以利用世界一流的APM的功能来监视其应用程序的性能。 无论您的.NET应用程序是在自己的硬件上运行还是在Azure Web App实例中运行,您都可以依靠Raygun APM来提供准确而详细的性能数据。
当前,Raygun APM仅支持.NET(非核心)应用程序,但是即将推出对.NET Core和其他非Microsoft语言和平台的支持。
我的经验
我借此机会在我亲自参与的非演示现场直播中对Raygun APM进行了简要测试。 我事先知道该应用程序存在性能问题。 它是在紧迫的期限内构建的,优化并不是重中之重……直到我和我的同事被告知对其进行优化。 它在本地(本地)服务器上运行。
设置Raygun APM非常简单。 这是我采取的步骤:
- 在服务器上下载并安装了Raygun APM客户端
- 输入并注册了API**
- 将客户端附加到应用程序的应用程序池
- 回收了应用程序池
我在一分钟内开始在仪表板中看到跟踪数据。 拥有对应用程序的深入了解,令我惊讶的是,Raygun APM发现了应用程序性能不佳的部分。 但是,我对它提供的详细信息感到非常惊讶。 我一直都知道某些方法和过程很慢,但是Raygun APM允许我深入研究细节并查明确切的方法和API调用会减慢我的应用程序的速度。
当Raygun APM客户端连接到应用程序池时,我确实注意到该应用程序的性能受到很大影响。 但是,这种性能下降在应用程序的优化部分中并不明显 。
因此,在使用Raygun APM捕获和分析生产中的应用程序之前,您肯定是要在测试环境中使用的工具。 这样做使您能够在甚至部署应用程序之前解决性能问题。
结论
Raygun APM是一项出色的服务,可用于监视.NET应用程序的性能。 它会自动为您查找性能问题,并将其与您已经使用的其他工具和服务紧密集成,您和您的团队将能够Swift解决这些问题。 不仅如此,而且它比市场上大多数其他APM服务的成本更低!
翻译自: https://code.tutsplus.com/articles/raygun-apm-annihilate-performance-issues--cms-31899