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

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

现在我的问题是:

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

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

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

有帮助吗?

解决方案

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

其他提示

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

我用了 日志解析器 浏览 IIS 日志并创建这些日志的输出报告(例如结果代码故障等)。

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

我可能也会看看 IIS.net 作为 IIS 工具的重要资源,包括调试、安全等。

我跟着 乌里格的建议 并发现 这个软件叫SmartInspect.

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

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

我确信 dotTrace 和其他分析工具会自动利用这一点,但值得一试: C9 - 与 David Broman 一起深入了解 Re-JIT

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top