C#ASP.NET 2.0指标仪表板

时间:2010-01-04 20:10:40

标签: c# asp.net performance metrics

我想创建一些类型的ASP.NET(C#2.0)Metrics类来帮助监视生产Web应用程序的性能。我对2.0健康监测有点熟悉,这不是我想要的(我不认为)。我宁愿有一个仪表板,它给我一个快照,而不是日志或事件列表。我很感激社区的任何反馈。因此,即使您没有具体的答案,也可以随意将您的输入添加到任何部分,并且不要觉得您必须在整个事情上提供输入。提前谢谢!

以下是我想要监控的一些内容。值应该特定于应用程序而不是IIS。

  1. 开放会话数
  2. 每小时点击次数
  3. 最早的会话
  4. 分配的内存量和使用量
  5. **在每个(或给定的)函数中花费的平均运行时间。
  6. 最后一个例外(已处理或未处理)
  7. 带宽利用率(甚至可以在应用程序级别使用?)
  8. **对于5号,我正在考虑使用某种类型的秒表类。我要监视的每个函数在开始和结束执行时都会调用start / stop。然而,这对我来说似乎非常难看。没有秒表课,有没有办法做到这一点? Reflections类中的某些内容可以帮助解决这个问题吗?

    这样的事情已经存在吗?我已经做了相当多的谷歌搜索但找不到我想要的东西。

    您能推荐我应该考虑的其他指标吗?

3 个答案:

答案 0 :(得分:1)

您应该能够阅读Windows性能计数器以获取大部分此类信息。应用程序级别的带宽利用率很高。我最终在我的应用程序中构建了一种计数器来跟踪带宽。我相信它可以通过降低堆栈中的更低效率来完成,但我还是需要一些快速而又脏的东西。

答案 1 :(得分:1)

听起来很多您正在寻找的东西可以通过Windows性能计数器捕获。您可以从仪表板页面阅读它们,并以HTML格式显示它们。

您还可以为任何特定于应用的数据创建自定义计数器。我最喜欢的一个方法是衡量流程调用的持续时间,并计算它们超过某个预定阈值的次数,以查找性能问题或回归。

答案 2 :(得分:1)

试试名为NewRelic的产品(服务?)。我不以任何方式与他们有任何关系,但他们的服务非常好,并且有一个免费的层,你可以用来开始。