我认为当用户告诉他们“应用程序很慢(再次)”时,许多开发人员都会感到不舒服。
在复杂的Web应用程序中,(感知)性能下降可能有很多可能的原因:数据库响应缓慢,带宽问题,缓存不良等等。肯定存在永远不会发生的问题。开发或暂存环境。
现在我的问题:
是否有一组工具和/或方法能够以可视方式在IIS / ASP.NET / SQL Server生产系统上提供全面的“实时”状态(而不仅仅是性能计数器) ):
主要目标是一目了然(或仔细观察)导致性能问题的问题。
答案 0 :(得分:6)
我认为您正在寻找的软件类别是“.net profiler”或“.net tracer”。您可以考虑的一个这样的工具是JetBrains'dotTrace。它为您提供了运行时堆栈跟踪和一组指示可能存在瓶颈的计数器。
答案 1 :(得分:4)
之前提到的工具肯定会奏效。在我们的商店,我们需要更精细的信息并构建我们自己的解决方案(长篇故事:编写代码比讨论工具和可检索数据更容易)。
我使用LogParser翻阅IIS日志并创建这些日志的输出报告(例如结果代码细分等)。
我使用了性能计数器和WMI值的组合来完成剩下的工作 - 您可以使用一些相当简单的C#来阅读这些内容 - 这使您可以完全控制,然后可以转储到.csv等以便在Excel中查看/处理您正在将页面更新为控制中心。
我可能还会将IIS.net视为IIS工具的一个很好的资源,包括调试,安全性等。
答案 2 :(得分:1)
我关注urig's advice并找到this software called SmartInspect。
有人知道这个日志/监控工具吗?它似乎是实时控制台和开发人员库的组合。
答案 3 :(得分:1)
CLR 4.5将具有一些新功能,可帮助您实时监控ASP.NET性能 - 无需重新启动应用程序。基本上你可以重新JIT你的代码,在其中包含一些监视钩子,然后检查在类/方法等中花费的时间。
我确信dotTrace和其他分析工具会自动利用这一点,但值得一试:C9 - Inside Re-JIT with David Broman