28

ASP.NET 的 perfmon 中有大量可用的计数器。什么是最好的(我正在考虑选择 5-10),这将是我们测试环境中最好的监控,以便我们可以反馈给开发人员。

我正在考虑请求时间、请求队列长度、活动会话等。

4

3 回答 3

21

对于正常(不是性能/压力测试),您可以使用以下内容:

  • Request Bytes Out Total (非常重要,尤其是对于 Web(不是 Intranet)应用程序)
  • 请求失败
  • 请求/秒
  • 执行期间的错误
  • 执行期间未处理的错误
  • 会话 SQL Server 连接总数
  • 状态服务器会话活动

对于性能测试,您可能需要以下内容:

  • % CPU Utilization (确保您正在检查非常低的 CPU 利用率以及它可能表明某些东西已经死了)
  • 排队的请求
  • 输出缓存命中
于 2008-10-02T11:52:49.123 回答
9

我使用最多的是内存计数器。他们都是。我知道它们并非特定于 ASP.NET,但我在使用 Web 应用程序时遇到的唯一问题是内存问题。

过多的堆、第 2 代收集和 GC 中的 % 时间是最重要的。如果您在 GC 中的时间逐渐失控,则表明您的 UI 和视图状态太大了。大堆和大量 gen 2 集合表明您在内存中保留了太多东西(例如,inproc 会话状态)。

Regular ASP.NET apps based on web controls require lots of objects being created and then destroyed quickly, as a page is reconstructed and then disposed. High gen0 collections isn't bad. Its when you start seeing lots of objects make it into gen1 and then gen2 that suggests you're either leaking memory or are holding onto too much state.

于 2008-10-02T11:52:52.167 回答
3

Be aware of memory counters when running more than one ASP.NET Application Pool check out the problem at http://blog.dynatrace.com/2009/02/27/can-you-trust-your-net-heap-performance-counters/

于 2009-02-27T21:21:24.020 回答