在IIS 7.5中监视平均响应时间的优雅方法是什么?

时间:2013-04-04 02:56:49

标签: asp.net performance iis monitoring response-time

我有一个在.NET和IIS 7.5上运行的SaaS应用程序。我想监视平均服务器响应时间,并在超过给定阈值时发送警报。有什么优雅的方法可以做到这一点?

我已经考虑过几种方法,但在开始使用这些方法之前我想得到别人的意见。

  1. 某种服务器日志解析器。似乎最明显,但提取我正在寻找的指标可能有些困难。

  2. NuGet .NET HTTP模块。是否有任何NuGet包实现响应时间监控和警报?我找不到一个。

  3. 自定义.NET HTTP模块。监控页面渲染时间,如果超过阈值则发送电子邮件。这可能是最灵活的解决方案,但需要一些实施工作。

  4. 效果计数器。似乎应该有一个性能计数器,但我从来没有运气使用性能监视器。具体来说,我不喜欢每次启动它时重新添加所有指标。我无法让Performance Monitor自动发送电子邮件。

  5. 还有其他我没有想过的吗?什么方法似乎最容易实现和维护?你自己试过吗?

1 个答案:

答案 0 :(得分:0)

我会选择#2。 HTTP模块可用于存储请求开始和请求结束,并将其存储到数据库中。

然后我会有一个单独的工作,每X分钟读取一次数据库,平均数据并发送报告。既然您拥有数据库中的数据,您就可以获得乐趣并创建各种报告(例如一天中的繁忙时段,运行时间最长的请求,请求密集程度最高的客户等等)

恕我直言,这比性能计数器更好,因为它可以为您提供更精确的数据,而且您不需要每次都进行设置。