为 ASP.NET 应用程序收集性能计数器数据的首选方法
Posted
技术标签:
【中文标题】为 ASP.NET 应用程序收集性能计数器数据的首选方法【英文标题】:Preferred ways to collect performance counters data for ASP.NET applications 【发布时间】:2012-12-27 14:13:38 【问题描述】:假设我有一个在 Windows Server 2008 R2 + IIS 7.5(或 Windows Server 2012 + IIS 8)上运行的 ASP.NET 应用程序,它使用 SQL Server 作为其数据存储。
以前在which ASP.NET performance counters to monitor 上提出过一些问题,但我找不到任何好的资源来自动收集性能计数器数据。
我心中的想法如下:
在特定时间间隔内收集指定的性能计数器 (可能需要 10 秒?)并将它们放入存储系统(A SQL Server 数据库、Windows Azure 表存储、Windows Azure Blob 存储、MongoDB 等)。
以下是我考虑的方式:
实现上述操作的 PowerShell 脚本。我以前没有这样做过,但我认为有一种方法可以将此脚本与 Windows 调度程序相关联,以便在特定时间间隔内自动调用。 实现上述操作的 Windows 服务。我将拥有一个仪表板应用程序,它将读取这些数据以显示图形输出(图表等)。
你有什么想法和以往的经历?
【问题讨论】:
【参考方案1】:根据我以前的经验,Windows 服务是我最后的选择。实际上,使用 powershell 完成此类任务对我来说更易于维护和轻松。现在我正在尝试为计数器和事件日志集成 RavenDB,以获得有关 IIS 应用程序的详细报告。
【讨论】:
以上是关于为 ASP.NET 应用程序收集性能计数器数据的首选方法的主要内容,如果未能解决你的问题,请参考以下文章
如何在 asp.net 核心中从返回零计数的主体正确映射数组
我可以在性能监视器中使用哪个计数器来查看有多少内存在等待 GC?