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

用于实时监控ASP.NET Web应用程序的工具和方法?

  •  19
  • splattne  · 技术社区  · 16 年前

    我想很多开发人员都知道当用户告诉他们 “应用程序运行缓慢(再次)。”

    在复杂的Web应用程序中 很多可能的原因 对于(感知到的)性能下降:数据库响应慢、带宽问题、缓存不好等,当然存在一些问题,在开发或登台环境中永远不会发生。

    现在我的问题是:

    是否有一套工具和/或方法可以提供 IIS/ASP.NET/SQL Server生产系统上的全面“实时”状态 在视觉上(不仅仅是性能计数器):

    • 当前HTTP请求(比如最后n分钟)
    • 例外/超时
    • 带宽数据
    • 打开的数据库连接数/数据库调用数

    主要目标是一目了然(或在仔细观察之后)看到是什么问题导致了性能问题。

    4 回复  |  直到 7 年前
        1
  •  6
  •   urig    16 年前

    我认为您要查找的软件类别是“.net profiler”或“.net tracer”。你可能会想到的一个工具是JetBrains' dotTrace . 它为您提供运行时堆栈跟踪和指示可能瓶颈的计数器数组。

        2
  •  4
  •   MikeJ    16 年前

    前面提到的工具当然可以工作。在我们的车间,我们需要更精细的信息,并构建自己的解决方案(说来话长:编写代码比讨论工具和可检索数据更容易)。

    我用过 LogParser 浏览IIS日志并创建这些日志的输出报告(例如结果代码分解等)。

    我使用了性能计数器和wmi值的组合来获取其余值-您可以使用一些非常简单的c来读取这些值-这使您能够完全控制,然后您可以将其转储到.csv等,以便在Excel中查看/处理,或者如果您正在将页面更新为控制中心。

    我可能也会看看 IIS.net 作为一个伟大的资源,包括调试,安全等。

        3
  •  1
  •   Community Doug McClean    7 年前

    我跟随 urig's advice 发现 this software called SmartInspect .

    有人知道这个日志记录/监控工具吗?它似乎是实时控制台和开发人员库的组合。

        4
  •  1
  •   Mikko Junnila    13 年前

    clr 4.5将具有一些新功能,可以帮助您实时监控ASP.NET性能,而无需重新启动应用程序。基本上,您可以重新对代码进行JIT,以便在其中包含一些监视钩子,然后检查在类/方法等中花费的时间。

    我相信Dottrace和其他分析工具会自动利用这一点,但值得一看: C9 - Inside Re-JIT with David Broman