21

我认为许多开发人员都知道当用户告诉他们“应用程序很慢(再次)”时那种不舒服的感觉。

在复杂的 Web 应用程序中,(感知的)性能下降可能有许多可能的原因:数据库响应缓慢、带宽问题、缓存不良等。当然,在开发或暂存环境中永远不会出现一些问题。

现在我的问题:

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

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

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

4

4 回答 4

6

我认为您正在寻找的软件类别是“.net profiler”或“.net tracer”。您可能会考虑使用 JetBrains 的dotTrace工具。它为您提供运行时堆栈跟踪和指示可能瓶颈的计数器数组。

于 2008-11-03T16:48:40.873 回答
4

前面提到的工具肯定会起作用。在我们的商店,我们需要更详细的信息并构建了自己的解决方案(长话短说:编码比争论工具和可检索数据更容易)。

我使用LogParser翻阅 IIS 日志并创建这些日志的输出报告(例如结果代码故障等)。

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

我可能还会将IIS.net视为 IIS 工具的绝佳资源,包括调试、安全等。

于 2008-11-03T17:43:47.550 回答
1

我按照urig 的建议找到了这个名为 SmartInspect 的软件

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

于 2008-11-03T17:17:32.750 回答
1

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

我确信 dotTrace 和其他分析工具会自动利用这一点,但值得一试:C9 - David Broman 的 Inside Re-JIT

于 2011-09-23T19:34:10.273 回答