iis – Perfmon:哪个计数器标识线程正在等待?

在对ASP.NET应用程序进行负载测试时,我们发现这些页面在高负载下需要20-30秒.

我们怀疑这是因为页面正在等待数据库调用或Web服务.

是否有一个特定的perfmon计数器可以识别Web服务器上的这种瓶颈? cpu,内存和磁盘都正常.

或者我们必须使用perfmon以外的工具来追踪这个瓶颈吗?

解决方法

如果您怀疑特定应用程序或服务导致内存泄漏,请使用以下计数器调查应用程序的内存使用情况:
Memory\Available Bytes reports available bytes; its value tends to fall during a memory leak.
Memory\Committed Bytes reports the private bytes committed to processes; its value tends to rise during a memory leak.
Process\Private Bytes reports bytes allocated exclusively for a specific process; its value tends to rise for a leaking process.
Process\Working Set reports the shared and private bytes allocated to a process; its value tends to rise for a leaking process.
Process\Page Faults/sec reports the total number of faults (hard and soft faults) caused by a process; its value tends to rise for a leaking process.
Process\Page File Bytes reports the size of the paging file; its value tends to rise during a memory leak.
Process\Handle Count reports the number of handles that an application opened for objects it creates. Handles are used by programs to identify resources they must access. The value of this counter tends to rise during a memory leak; however,you cannot rule out a leak simply because this counter's value is stable.

内存泄漏和非分页

虽然任何泄漏都很严重,但当涉及非分页池时,内存泄漏尤其令人担忧.许多系统服务从非分页池分配内存,因为它们在处理中断时需要引用它,并且当时不能发生页面错误.要确定泄漏是否影响非分页池,请在监视中包括以下计数器:

Memory\Pool Nonpaged Bytes
Memory\Pool Nonpaged Allocs
Process\Pool Nonpaged Bytes

如何识别:
泄漏的应用程序不断要求更多的内存.它的特点是以与系统承诺字节相同的速率增加进程/页面文件字节数;即所有记忆承诺都归因于一个过程.可用字节逐渐减少,直到系统向外输出某些内容,然后虚拟字节数增加,以便为更多可用字节腾出空间.泄漏应用程序的工作集实际上会在其部分被分页时减少.请注意Page Faults / sec如何随着可用字节数的减少而增加.

Windows资源工具包包含一个名为LeakyApp.exe的示例程序.该程序具有不断分配越来越多内存的典型故障.

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...