9 个用于调试和监视 ASP.NET 应用程序的强大工具

深入理解 ASP.NET 应用程序的监控与调试

对应用程序进行有效的监控和调试是成功开发应用的关键要素。

ASP.NET 是一款基于 .NET 框架的开源平台。 开发者们借助 ASP.NET,并结合 CSS、HTML 和 JavaScript 来构建网站、应用和服务。 此外,他们还可以编写 Web API,实现 JSON 或 XML 与包括移动设备在内的各种连接设备之间的通信。

通过集成 SignalR 库,可以显著增强 ASP.NET 的功能。SignalR 利用 HTML5 的 WebSockets API 以及其他 API,便捷地建立服务器与客户端之间动态的多路通信。

微软还提供了额外的框架来扩展 ASP.NET 的功能,这些框架包括动态数据、数据应用框架、AJAX 功能以及用于构建 Web 应用的 MVC(模型-视图-控制器)框架。

ASP.NET 应用调试的重要性

在软件开发过程或程序开发生命周期(PDLC)中,错误的出现是不可避免的。为了最大程度地减少工时投入,并避免后续开发过程中出现重大瓶颈,尽早发现并纠正这些错误至关重要。

在 PDLC 中查找并修复逻辑与语法错误的过程,即被称为调试。

调试流程是开发者在 ASP.NET 应用程序中设置断点的过程。 这些断点用于暂停正在运行的程序的执行,以便逐步检查代码的正确性。 这有助于开发者在最终确定或修复代码之前,对代码片段进行详尽的分析。

ASP.NET 应用监控的必要性

对 ASP.NET 应用程序进行监控,能确保应用按照既定指标运行。 一旦出现问题或错误,开发者应该在用户体验受到影响之前及时知晓并采取行动。

监控事件对于保持应用的正常运行时间,并在出现故障时及时修复至关重要。 监控 ASP.NET 应用的原因有很多,包括:

  • 检查网站的可用性和访问情况
  • 应用程序在每次页面加载时是否抛出异常
  • 虽然应用程序看起来运行正常,但后端如发票或处理流程是否运行正常
  • 应用程序运行的其他进程是否消耗资源并减慢主进程的速度

无论对于中小型企业 (SMB) 还是大型企业,监控 ASP.NET 应用的响应速度、在线可用性、客户响应以及后端流程等都至关重要。 这能保证最佳的最终用户体验,并为企业带来更好的业务成果。

最基本的是,公司需要了解应用是否在线,以及其在高层次上的运行状况。 网站速度是否足够快? 客户是否满意? 这些都是需要持续关注和监控的关键问题。

接下来的章节中,我们将探讨用于调试和监控 ASP.NET 应用的各种工具。

New Relic

New Relic 提供对 .NET Framework 和 .NET Core,以及除微软之外的其他语言和组件的可视化监控能力。 此软件能有效识别应用和服务中的瓶颈,并在客户体验受到影响之前进行修复。

它是一款适应性极强的软件,可监控运行在云端数据中心的应用,以及来自 Amazon、Microsoft Azure、Amazon 的 Elastic Cloud 等的 Web 服务。

其动态程序分析功能可以诊断并解决生产环境中出现的问题。 异常告警机制有助于在用户受到影响之前就解决问题。

总而言之,New Relic 是一个功能全面的工具,在应用中提供了对整个 ASP.net 框架的实时监控、操作跟踪、警报、诊断以及故障排除功能。

功能特性

  • 代码实施前后性能对比
  • 分布式应用和服务依赖关系的服务图可视化
  • 集中式仪表盘,用于监控所有正在运行的应用以及运行状况
  • 收集实时数据,用于了解应用性能

该软件的透明度、可预测性和可负担性对中小企业来说是一项显著的优势。一位用户可以免费使用其基本功能。 额外用户和附加功能的起价为每月 99 美元。

ManageEngine

应用监控 ManageEngine 连续九次被 Gartner 评为魔力象限领导者。它深入分析不同类型 Web 应用的性能和关键业务应用的用户体验,以便在最终用户受到影响之前识别并修复问题。

从编码序列到统一资源定位器(URL),都可以监控整个应用堆栈。可以跟踪性能问题并在发生重大崩溃之前修复错误。

诸如页面查看时间、下载时间和锁定时间等微型性能指标,也可以从仪表盘上的各个位置进行追踪。 不同规模的组织都可以使用该软件跟踪应用运行时间、监控实时性能并在用户体验受到影响之前解决瓶颈问题。

功能特性

  • 跟踪并监控用户操作的响应时间和错误
  • 识别导致用户体验不佳和用户对 Apdex 结果不满意的 Web 事务
  • 使用瀑布图识别加载缓慢的组件
  • 记录关键的网络路径并在几分钟内回放

除 .NET 框架之外,它还可以用于各种类型的 Web 应用,包括 Java、NodeJS、Ruby on Rails 和 PHP。该软件可免费使用 30 天,之后可以根据要求提供年度和永久许可版本。

Sentry

Sentry 是一款简单易用且被广泛使用的 ASP.NET 错误和性能监控软件,适用于从小到大的各种规模的企业。全球有 80,000 个组织正在使用它,包括微软、迪士尼、Cloudflare、Reddit 和 Github 等。

可以监控包括文件名和行号在内的整个应用堆栈。 可以过滤并分组所有异常,包括调试日志、网络查询、数据库查询和过去的错误,以便进行分析。

其独特的为异常创建自定义环境标签的功能,有助于对应用程序、业务问题和用户错误进行分类。 ASP.NET 异常处理基于特定的参数,例如每个问题的 HTTP 请求、工作流阶段和主机名。

功能特性

  • 分布式端到端跟踪,用于发现不正确和正确的 API 调用
  • 通过自动向相关的所有者/团队发送电子邮件,有效地处理错误并修复 ASP.NET 错误
  • 能够按版本合并重复错误,并确定其对未来版本的影响

其免费版本可供开发人员用于基本性能监控。付费版本的起价为每月 26 美元。

dotTrace

dotTrace Profiler 可帮助企业发现所有类型的 .net 应用(包括桌面应用、Windows Communication Foundation 和 Windows 通用平台服务、托管在 IIS Web 服务器上的 ASP.NET 应用、单元测试、Mono 和 Unity 应用)的性能瓶颈。

其特点之一是允许即时分析代码中的任何静态方法,这有助于在编码后立即分析每段代码。无需构建解决方案、在分析器下运行它或运行部署新代码的脚本。

可以追踪所有 SQL 连接以识别缓慢的 SQL 查询和性能统计信息。 这可以与正在运行的应用相关联,以调查生产环境中的性能问题。

功能特性

  • 在一处快速分析异步代码
  • 无需安装即可远程配置文件应用
  • 分析缓慢传入的 HTTP 请求以确定确切原因
  • 通过基于时间调整重新计算快照中所有功能的时间来估计性能改进

DotTrace 提供了一个专用的 TeamCity 插件,可用于分析 CI 服务器集成测试并防止性能下降。 DotTrace 软件是 dotUltimate 软件包的一部分,其中包括六个额外的工具。 DotUltimate 第一年每位用户的费用为 399 美元。

Dynatrace

Dynatrace 是一个完整的 .NET 工具包,用于监控浏览器应用、IIS、数据库、服务和活动。它利用专有的 PurePath 技术,在 .NET 应用环境中无缝捕捉每个级别、每个事务的时间和上下文代码级信息,从而消除盲点。

预先配置的仪表盘监控所有实时性能指标,包括单个事务、SQL 语句和代码级别等。 它显示了各种错误跟踪指标,例如垃圾回收、Web 请求大小、活动和空闲线程、.NET 内存、重启、错误率和带宽等。

功能特性

  • 可以观察到诸如 CPU 和内存使用情况、网络流量、TCP 重传等性能指标。
  • 其反向跟踪功能有助于了解数据库表达式对用户体验的影响。
  • 自动识别并映射 .NET 应用中的所有应用和业务事务流。
  • 可以跟踪 Web 服务器性能指标,例如进程、流量和查询。

全栈监控软件的价格为 69 美元。 如果您只需要特定模块,他们提供了不同的定价方案。

AppDynamics

AppDynamics 平台已被世界知名网络公司思科收购。该软件为监控和管理 .NET 应用的性能提供了完整的解决方案。

它具有业内最可扩展的设计。它支持几乎所有 .NET 监控框架,包括 ADO、ASP、IIS、异步监控、独立应用、Windows 服务、Azure、Sharepoint 服务器、远程服务和 MVC5 等等。

它具有一个专门的业务事务管理面板,可监控和跟踪业务事务的整体效率,包括事务状态、关键统计数据(如每分钟调用次数和慢速事务等等)。

它显示了详细的指标,例如 ASP.NET 事务代码执行时间。

功能特性

  • 使用 ASP.NET 快速分析和排除故障的慢速或待处理事务的自动快照
  • 性能统计的图形化展示
  • 其快速安装机制允许快速部署

该软件附带一个为期 15 天的试用期。 其定价方案基于 CPU 内核,基础设施监控版本的起价为每月 6 美元。它还有另外三个版本:Premium(60 美元/月)、Enterprise(90 美元/月)和实时用户监控(每 1000 个令牌 0.06 美元/月)。

ANTS Performance Profiler

ANTS Performance Profiler 旨在发现 .NET 标准和 .NET Core,以及第三方框架、SQL 查询等方面的性能问题。它适用于桌面应用程序、ASP.NET 应用程序和 ASP.NET 模型-视图-控制器。

该软件为 .NET 代码和数据库查询提供全面的 ASP.NET 性能数据。 其准确的诊断功能可深入到慢速操作中以发现问题。

其调用树结构可识别并直接显示昂贵的方法、数据库查询和 Web 查询,从而解决缓慢的活动。 专业版支持两个主要数据库——SQL 和 Oracle——测试 .NET 代码查询数据库的效率。

功能特性

  • 在应用有磁盘活动时提供广泛的 I/O 性能
  • 跟踪传出的 HTTP 请求以找出导致请求的原因
  • 将每行时间与 SQL 查询相结合,找出慢查询
  • 监控 .NET 或 ASP.NET 应用的 CPU 特定性能,以便您专注于重要数据

试用期为 14 天。该软件分为 2 个版本:标准版和专业版。 标准版定价起价为每位用户 545 美元。

Retrace

Stackify Retrace 是一款易于使用的基于 SaaS 的软件,用于监控 ASP.NET 和 Java 应用。它提供完整的端到端解决方案,包括应用监控、事务跟踪、指标记录、错误和报告以及强大的告警系统。

其内部设计的应用 “应用评分” 提供详细的信息,以及 Apdex 评分。 仪表盘提供可用于密切监控应用的所有指标的信息,包括最佳 Web 查询、SQL 查询性能和慢速 Web 查询等。

其 Web 平台在 CPU 和内存使用率、与每分钟关键事务相关的信号、每分钟错误和满意度评分等方面展示了服务器和应用性能。

功能特性

  • 使用任何持续集成/持续交付 (CI/CD) 工具自动追踪部署
  • 能够快速识别性能或错误率的变化
  • 可以识别 Web 请求处理代码所需要的时间
  • 快速修复错误,并找到优化代码的方法

该软件可免费试用 14 天。 预生产成本为每月 10 美元,生产成本为每月 25 美元。

MiniProfiler

MiniProfiler 是一个开源平台,适用于 .NET、ASP.NET、ASP.NET Core 和 ASP.NET MVC,由 Stack Overflow 团队成员创建。

MiniProfiler 通过跟踪处理应用的每个部分以及处理数据库请求所需的时间,帮助调试和优化每个页面的性能。

该平台用于找出导致延迟的应用区域,以便开发人员可以查看瓶颈并进行必要的修正,使应用达到所需速度。

其最佳功能包括存储、调用堆栈和数据库配置文件。

总结

创建一个稳健的应用是一个复杂的活动,需要投入大量时间进行复杂的编码,包括 HTML、CSS 和 JS。 构建应用涉及映射实体、各种库、数据库连接和服务器响应时间等等。

在此过程中,很难了解导致应用变慢的确切原因,因此上述工具和软件有助于简化调试、监控和优化应用性能的过程。

我们希望这篇文章能够帮助您调试和优化 ASP.NET 应用的性能。您可能也对了解 ASP.NET 托管平台感兴趣。