什么是要监视的最佳ASP.NET性能计数器?

时间:2020-03-06 15:01:12  来源:igfitidea点击:

perfmon中有大量用于ASP.NET的计数器。什么是最好的(我想选择5到10),这将是在我们的测试环境中进行监视的最好的方法,以便我们可以反馈给开发人员。

我在考虑诸如请求时间,请求队列长度,活动会话等问题。

解决方案

对于正常的(不是性能/压力测试),我们可以使用以下命令:

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

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

  • CPU使用率百分比(确保我们检查的CPU使用率非常低,并且它可能表明某些设备已死)
  • 请求排队
  • 输出缓存命中

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

最重要的是堆过多,第2代收集和GC中的%时间。如果我们在GC中的时间逐渐失去控制,则表明UI和viewstate太大。大量的第二代收藏集表明我们在内存中保留了太多内容(例如,会话内状态)。

基于Web控件的常规ASP.NET应用程序需要创建大量对象,然后在重建和处置页面时迅速销毁这些对象。高gen0收集还不错。当我们开始看到很多对象时,将其放入gen1,然后进入gen2,这表明我们正在泄漏内存或者处于过多状态。

当运行多个ASP.NET应用程序池时,请注意内存计数器
在http://blog.dynatrace.com/2009/02/27/can-you-trust-your-net-heap-performance-counters/中查看问题