当前位置:  开发笔记 > 后端 > 正文

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

如何解决《要监控的最佳ASP.NET性能计数器是什么?》经验,为你挑选了2个好方法。

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

我在考虑请求时间,请求队列长度,活动会话等.



1> Ilya Kocheto..:

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

请求字节总数(非常重要,特别是对于Web(非Intranet)应用程序)

请求失败

请求/秒

执行期间的错误

执行期间未处理的错误

会话SQL Server连接总计

状态服务器会话激活

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

%CPU利用率(确保检查CPU利用率非常低,并且可能表明某些东西已经死亡)

请求排队

输出缓存命中


Request Bytes Out Total如何重要(甚至有用)?它只是一个不断增长的所有发送字节数.

2> 小智..:

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

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

基于Web控件的常规ASP.NET应用程序需要创建大量对象,然后快速销毁,因为页面将被重建然后处理.高gen0收藏也不错.当你开始看到许多物体进入gen1然后gen2时,它表明你要么是在泄漏记忆,要么是在保持太多的状态.


你可以更具体地说明你的数字吗?什么是'大堆'和'很多第二代连接'?
我的经历与威尔的经历相同.asp.net web应用程序的大多数性能问题都可能与内存有关.GC中的%时间对于监控至关重要.很难为GC指定%时间的硬阈值,但平均超过15%的任何东西都会引起我的注意.应该有比Gen 1更多的Gen 0集合,以及比Gen 2更多的Gen 1集合.#Invoked GC应该是0或非常小.如果#Instoked GC接近Gen 2 Collections,则代码显式调用GC.Collect,应用程序将花费大量时间在GC中.在GC中,所有线程都被暂停,所以这非常糟糕.
推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有