代码之家  ›  专栏  ›  技术社区  ›  Mike

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

  •  4
  • Mike  · 技术社区  · 12 年前

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

    我已经想了几种方法,但在开始走这些道路之前,我想听听别人的意见。

    1. 某种服务器日志解析器。这似乎是最明显的,但提取我想要的指标可能有点困难。

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

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

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

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

    1 回复  |  直到 12 年前
        1
  •  0
  •   David Smithers    12 年前

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

    然后我有一个单独的作业,每X分钟读取一次数据库,平均数据并发送报告。既然数据库中有了数据,您就可以玩得很开心,并创建各种报告(例如一天中的繁忙时间、运行时间最长的请求、请求最密集的客户端等)

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