ASP.NET 的性能计数器 ASP.NET 支持两组性能计数器:系统和应用程序。前者在 ASP.NET 性能计数器对象中的 PerfMon 中公开;后者在 ASP.NET Applications 性能对象中公开。ASP.NET 性能对象中的 State Server Sessions 计数器(仅适用于在其中运行状态服务器的服务器计算机)和 ASP.NET Applications 性能对象中的 Sessions 计数器(仅适用于进程中发生的用户会话)之间存在很大的差异。 注意 每 400 毫秒更新一次与每个性能计数器关联的值。 在监视 ASP.NET Web 应用程序的性能时,应该始终跟踪下表中列出的性能计数器。 性能对象 性能计数器 ASP.NET Application Restarts ASP.NET Requests Queued ASP.NET Worker Process Restarts ASP.NET Applications Errors Total ASP.NET Applications Requests/Sec Processor % CPU Utilization % CPU Utilization 计数器监视 Web 服务器计算机上的 CPU 使用情况。无论客户端负载如何,CPU 使用率很低或者无法达到 CPU 最大使用率就意味着 Web 应用程序中存在资源或锁定竞争。 此外,在确定 Web 应用程序性能问题时,下表中列出的性能计数器是非常有用的。 性能对象 性能计数器 ASP.NET Applications Pipeline Instance Count .NET CLR Exceptions # of Exceps Thrown System Context Switches/sec # of Exceps Thrown 计数器显示应用程序中引发的异常数量,因为它们可能会对性能造成不利影响。但是,某些代码路径必须依赖异常才能正常工作。例如,HttpResponse.Redirect 方法始终引发一个无法捕获的异常 ThreadAbortException。因此,使用 Errors Total 计数器跟踪引发的异常数量以查看异常是否在应用程序上生成错误更有用处。 Context Switches/sec 计数器测量 Web 服务器计算机中所有 CPU 切换线程上下文的速率。如果此计数器的数值较大,则表明锁定竞争很激烈,或者线程在用户和内核模式之间频繁切换。可能还需要使用采样分析器和其他工具进行进一步的分析。 以下列表详细介绍了 ASP.NET 和 ASP.NET Applications 性能对象中的计数器。 ASP.NET 系统性能计数器 ASP.NET 支持以下 ASP.NET 系统性能计数器。它们汇集 Web 服务器计算机上所有 ASP.NET 应用程序的信息,或者它们通常应用于运行相同应用程序的 ASP.NET 服务器的系统。它们可能包含 Web 场和 Web 园。 Applic...