9 个用于调试和监视 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(Model-View-Controller)框架。
需要调试ASP.NET应用程序
在设计和开发过程或程序开发生命周期(PDLC)中,错误是不可避免的。及早找出并纠正这些错误对于最小化人时和避免后期出现重大开发瓶颈至关重要。
在PDLC中找出和纠正逻辑和语法错误的过程称为调试。
调试过程是程序员或开发人员向ASP.NET应用程序添加断点的过程。该断点用于停止正在运行的程序的执行,以逐步检查程序的正确性。它帮助开发人员在最终确定或修复代码之前分析代码部分。
ASP.NET应用程序监控需求
ASP.NET应用程序监控活动确保应用程序按照定义的指标工作,如果出现困难或错误,开发人员应立即了解情况,以免影响用户体验。
监控事件对于维护应用程序的运行时并及时修复故障非常重要。监控ASP.NET应用程序的原因有多种,例如:
- 检查站点的可用性和使用情况
- 每次加载页面时,应用程序都会抛出异常
- 应用程序工作正常,但后端的发票或进程未运行
- 应用程序可以运行其他进程,这些进程可能会消耗资源并减慢主要进程的速度
对于中小型和大型企业来说,监控ASP.NET应用程序的响应时间、在线可用性、客户响应、后端流程等非常重要,以确保最佳的终端用户体验和更好的业务结果。
至少,公司需要知道应用程序是否在线以及在高层面上的运行情况。网站是快速还是缓慢?客户是否满意?这是一个必须始终回答和监控的关键问题。
在接下来的子章节中,我们将讨论用于调试和监控ASP.NET应用程序的工具。
New Relic
New Relic提供对.NET框架、.NET Core和其他语言和组件的可见性,除了Microsoft之外。该软件帮助识别应用程序和服务中的瓶颈,并在客户体验之前进行修复。
这是一款适应性软件,可监视在Amazon、Microsoft Azure、Amazon的Elastic Cloud和其他云中运行的应用程序和Web服务。
它的动态程序分析可以在生产阶段诊断和解决问题。其异常警告机制有助于在用户受影响之前修复问题。
总的来说,New Relic是一个完整的解决方案,可以实时监控ASP.net框架的整体情况,包括实时监控、运维跟踪、警报、诊断和故障排除。
特点
- 代码实施前后的性能比较
- 分布式应用和服务依赖的服务映射可视化
- 集中的仪表板,监控所有正在运行的应用和健康状况
- 收集实时数据,了解应用程序性能
这款软件的透明度、可预测性和实惠性对中小型企业来说是重要的优势。一个用户可以免费使用其基本功能。它的价格以每个额外用户99美元和额外功能起步。
ManageEngine
ManageEngine的应用程序监控曾九次获得由Gartner颁发的魔力象限奖。它可以深入了解各种类型的Web应用程序的性能以及业务应用程序的关键用户体验,以在用户受到影响之前识别和解决问题。
从编码序列到统一资源定位符(URL),可以监控整个应用程序堆栈,跟踪性能问题并在主要崩溃发生之前修复错误。
还可以从仪表板上的各个位置跟踪页面查看时间、下载时间、锁定时间等小规模性能指标。各种规模的组织都可以使用该软件来跟踪应用程序运行时间、monitor real-time performance并在用户性能受到影响之前解决瓶颈。
功能
- 跟踪和监控用户操作的响应时间和错误
- 使用瀑布图识别导致用户体验差和用户满意度的Web事务
- 使用瀑布图识别加载缓慢的组件
- 记录重要的Web路径并在几分钟内播放
除了.NET框架,它还可以用于各种类型的Web应用程序,包括Java、NodeJS、Ruby in Rails和PHP。该软件提供免费使用30天,之后可根据需求请求年度和永久许可版本的价格。
Sentry
Sentry是一款面向中小型到大型企业的最简单和最广泛使用的ASP.NET错误和性能监控软件。它被全球80,000家组织使用,包括微软、迪士尼、Cloudfare、Reddit、Github等。
可以监控整个应用程序堆栈,包括文件名和行号。可以对所有异常进行过滤和分组,包括调试日志、网络查询、数据库查询、过去的错误,以进行分析。
它独特的功能是为异常创建自定义环境标签,帮助分类应用程序、业务问题和用户错误。基于特定参数(如HTTP请求、工作流阶段和主机名)进行ASP.NET异常处理,针对每个问题。
功能
- 分布式端到端跟踪,以发现错误和正确的API调用
- 通过自动发送电子邮件给相关的所有者/团队,高效处理错误并修复ASP.NET错误
- 能够按版本合并重复的错误,并查看对未来版本是否有影响
开发人员可以使用其免费版本进行基本性能监控。价格从每月26美元起。
DotTrace
DotTrace性能分析器可以帮助企业找到各种类型的.NET应用程序中的性能瓶颈,包括桌面应用程序、Windows Communication Foundation和Windows Universal Platform服务、托管在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平台被世界著名的网络公司Cisco接管。该软件为监控和管理.NET应用程序的性能提供了完整的解决方案。
它具有行业中最可扩展的设计。它支持几乎所有的.NET监控框架,包括ADO、ASP、IIS、异步监控、独立应用程序、Windows服务、Azure、Sharepoint服务器、远程服务、MVC5等等。
它有一个专用的业务交易管理面板,监控和跟踪业务交易的完全效率,包括事务状态、每分钟调用次数、慢速事务等重要统计信息。
它显示了详细的指标,如ASP.NET事务恢复代码执行时间。
特点
- 自动快照慢速或挂起事务,以进行快速分析和故障排除。
- 性能统计的图形表示。
- 其快速组件机制可以快速部署。
该软件配有一个15天的测试阶段。定价结构基于CPU核心,从每月6美元的基础设施监控版本开始。它还有其他三个版本:高级版(每月60美元)、企业版(每月90美元)和实时用户监控(每1000个令牌每月0.06美元)。
ANTS性能分析器
ANTS Performance Profiler旨在找出.NET标准和.NET核心以及第三方框架、SQL queries等方面的性能问题。它适用于桌面应用程序、ASP.NET应用程序和ASP.NET模型-视图-控制器。
该软件为.NET代码和数据库查询提供完整的ASP.NET性能数据。它准确的诊断可以深入到慢行中以发现问题。
其呼叫树结构可以识别和直接显示昂贵的方法、数据库查询和网络查询,以解决慢速活动的问题。专业版支持两个主要数据库——SQL和Oracle——以测试.NET代码查询数据库的效果。
特点
- 在应用程序有磁盘活动时提供广泛的I/O性能
- 跟踪出站HTTP请求以找出请求的原因
- 将每行时间与SQL查询组合以查找慢查询
- 监视.NET或ASP.NET应用程序的特定CPU性能,以便您只关注重要的数据
试用期为14天。该软件有两个版本:标准版和专业版。标准版的定价从每用户545美元起。
Retrace
Stackify Retrace是一款易于使用的基于SaaS的软件,用于监控ASP.NET和Java应用程序。它提供完整的端到端解决方案,包括应用程序监控、事务跟踪、指标记录、错误和报告以及强大的警报功能。
其内部设计的应用程序“App score”提供了比Apdex分数更详细的细节。仪表板提供了有关您可以用来密切监控应用程序的所有指标的信息,包括最佳网络查询、SQL查询性能、慢速网络查询等。
其Web平台以CPU and memory usage显示服务器和应用程序的性能,显示与每分钟关键事务相关的信号、每分钟错误、满意度得分等等。
特点
- 使用任何持续集成/持续交付(CI/CD)工具自动化部署跟踪
- 能够快速识别性能或错误率的变化
- 可以识别Web请求处理代码所需的时间
- 快速修复错误并识别优化代码的方法
该软件免费提供14天试用期。预生产版的费用为每月10美元,生产版的费用为每月25美元。
MiniProfiler
MiniProfiler是一个针对.NET、ASP.NET、ASP.NET Core和ASP.NET MVC的开源平台,由Stack Overflow团队的成员创建。
MiniProfiler通过跟踪应用程序的每个部分处理所需的时间以及处理数据库请求所花费的时间,帮助调试和优化每个页面的性能。
该平台用于找出导致延迟的应用程序区域,以便开发人员可以查看瓶颈并进行必要的修正,使应用程序达到所需的速度。
其最佳特点包括存储、调用堆栈和数据库配置文件。
结论
创建强大的应用程序是一项复杂的活动,需要许多人时来进行复杂的编码,包括HTML、CSS和JS。构建应用程序涉及实体映射、各种库、数据库连接和服务器响应时间等等。
在这个过程中,很难理解导致应用程序变慢的确切原因,因此上述工具和软件对于调试、monitoring和优化应用程序的性能有所帮助。
我们希望本文能帮助您调试和优化ASP.NET应用程序的性能。您可能还对了解ASP.NET Hosting Platforms感兴趣。