我想更好地了解应用程序正在做什么。我们正在监视 ASP.NET 和 .NET 计数器,但我们需要更深入地了解正在发生的情况以及发生的速度。与此相关的最佳实践是什么?是否有适用于 Microsoft.NET 环境的具体指南或文档?我会为此使用企业库吗?我们已经在使用该库的部分内容将数据输入到我们的应用程序中。

此时我们最大的痛点:

  • 对应用程序进行故障排除的方法很少

    (有日志,但日志记录过多,导致日志由于大小而几乎变得毫无用处)

  • 对现有性能的影响最小
  • 无法了解 Enjim 客户端正在做什么,例如命中、未命中等。
  • 监控非常独特的性能(例如内存缓存服务器死机)

奖金

  • 使用 MOM 内收集的数据
  • 使用此数据来优化应用程序,从而产生最佳效果
  • 提高系统的可维护性,以便我们的操作人员可以更轻松地维护该系统。
有帮助吗?

解决方案

有两个地方你应该关注。

首先,在您的测试环境中,您应该使用代码分析工具(例如 VS 内置的那种)来查看实际执行的代码路径。到目前为止,这揭示了应用程序的大部分细节,但建立对生产环境和负载的良好模拟可能很困难且耗时。

其次,在生产代码中使用自定义性能计数器。我们创建自己的性能计数器,并使用设置实用程序安装它们。这增加了一些复杂性,但是您确实无法通过它们来深入了解您的 Web 应用程序正在做什么。

更新性能计数器的行为是最少的。这是性能监视器的读取,这会增加一些开销(我知道这是违反直觉的)。

我们使用的企业库版本 (3.1) 没有对自定义性能计数器的任何直接支持,尽管它确实为自己安装了许多计数器。我不认为这些是你想要的。

其他提示

看一眼 运营设计. 。这包括帮助您检测应用程序的工具。这些工具还可以帮助您为应用程序创建运行状况模型,MOM 可以使用该模型进行运行状况监控。

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