概述:在性能测试中性能监视器是非常强大的工具,本文主要简述了几个关键的计数器和相关的阈值。

监控性能计数器

很多的性能计数器在性能调优中是非常重要的,由于性能计数器太多,很多人不知道选择那些计数器。

在ASP.NET应用程序中,以下这几个计数器是最基本的:

接下去将会补充说明这些计数器背后代表的意义以及该计数器需要注意的阈值,当然还会补充其他一些相关的性能计数器。

理解性能监视器

以下是对一些比较重要的性能计数器的介绍。

.NET CLR Exceptions Counter

#Exceps thrown / sec:

每秒扔出的托管异常数量。值得注意的是Response.Redirect, Server.Transfer和Response.End将会触发ThreadAbortException, 这个将会严重影响站点的性能。所以用Response.Redirect(url, false)或者用一个静态的HTML来重定向页面。

阈值是5% RPS

.NET CLR Loading Counters

Current AppDomains:

当前加载的 AppDomain数量

Current Assemblies:

当前加载的程序集数量

Bytes in Loader Heap:

所有AppDomains的类型加载器加载的比特数。这个数值必须是稳定的,否者就是AppDomain加载的程序集太多了。

.NET CLR Memory Counters

# Bytes in alll Heaps:

所有托管对象占据的比特数。强烈建议用WINDBG.EXE和SOS.DLL。

# Gen 0 Collections:

0代的对象被回收的数量。仍存活的对象将到达Gen 1.

# Gen 1 Collections:

1代中对象被回收的数量。仍存活的对象将到达Gen 2.

这个阈值是Gen 0 的1/10

# Gen 2 Collections:

2代是最高的,这个阈值是Gen 1 的 1/10

% Time in GC:

最新的一次GC花费的时间百分比。这个平均值低于5%是一个健康的值。

ASP.NET Counters

Application Restarts:

应用程序重启的次数。这个建议值理想状态下应该是0.

Applications Running:

当前运行的应用程序数量。

Requests Current:

当前ASP.NET ISAPI 当前处理的请求数量。当请求数量超过requestQueueLimit, ASP.NET将会拒绝请求。

Request Execution Time:

执行最后一个request花费的毫秒数。

Requests Queued:

当前请求正在排队的数量。

Requests Rejected:

请求被拒绝的数量。

下面几个计数器是发现Request被拒绝原因.

ASP.NET Applications Counters

Cache Total Entries

Cache Total Hit Ratio

Cache API Entries

Compilations Total

Errors During Compilation

Error During Execution

Error Unhandled During Execution

Requests Total/sec:

当前执行的请求数量。当HttpRuntime开始处理请求的时候,该计数器加1,当HttpRuntime结束处理Request时,该计数器减1.

Requests Not Found.

Requests Timed Out.

Request Total:

当应用程序启动以后,总计收到的请求数量。

Requests/Sec

每秒执行的请求数。建议使用 “Web Service\ISAPI Extension Request/Sec”,  因为该计数器不会受应用程序重启的影响。

Process Counters

% Processor Time.

Handle Count.

Thread Count.

Virtual Bytes.

Processor Counter

% Processor Time:

所有线程使用当前处理器的时间百分比

阈值是70%

Memory Counter

Available Mbytes:

可用的物理内存数量。

System Counter

Context Switches/sec:

处理器切换线程上下文的比例。

Web Service Counters

Current Connections.

Total Method Requests/sec:

可以和ASP.NET Applications 和 Web Services中的Request / sec做比较静态页面和aspnet_isapi.dll处理请求数量。

ISAPI Extension Requests/sec.

该计数器包含所有ISAPI extensions, 不仅仅是aspnet_isapi.dll.

结语

在应用程序go live之前,压力测试和相关的计数器将减少你将来的headache.

原文:http://msdn.microsoft.com/en-us/library/ms972959.aspx

[译]ASP.NET 性能监控的更多相关文章

  1. Asp.net 性能监控之压测接口“卡住” 分析

    问题描述:web api项目接口压测.前期并发100,500没出现问题,平均耗时也在几百毫秒.当并发1000时候,停留等待许久,看现象是jemeter卡住,没返回,时间过了许久,才正常. 解决过程: ...

  2. ASP.NET 性能监控和优化入门

    关键要点: 只有与应用指标相关联,基础设施指标才能最大发挥作用. 高效性能优化的关键在于性能数据. 一些APM工具为ASP.NET提供了开箱即用的支持,这样入门使用ASP.NET仅需最小限度的初始设置 ...

  3. ASP.NET Core之跨平台的实时性能监控(2.健康检查)

    前言 上篇我们讲了如何使用App Metrics 做一个简单的APM监控,最后提到过健康检查这个东西. 这篇主要就是讲解健康检查的内容. 没看过上篇的,请移步:ASP.NET Core之跨平台的实时性 ...

  4. ASP.NET Core 之跨平台的实时性能监控

    前言 前面我们聊了一下一个应用程序 应该监控的8个关键位置. . 嗯..地址如下: 应用程序的8个关键性能指标以及测量方法 最后卖了个小关子,是关于如何监控ASP.NET Core的. 今天我们就来讲 ...

  5. 转:asp.net mvc ef 性能监控调试工具 MiniProfiler

    MiniProfiler官网:http://miniprofiler.com/ MiniProfiler的一个特别有用的功能是它与数据库框架的集成.除了.NET原生的 DbConnection类,Mi ...

  6. NanoProfiler - 适合生产环境的性能监控类库 之 基本功能篇

    背景 NanoProfiler是一个EF Learning Labs出品的免费性能监控类库(即将开源).它的思想和使用方式类似于MiniProfiler的.但是,设计理念有较大差异. MiniProf ...

  7. 【转载】Linux系统与性能监控

    原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...

  8. Linux系统与性能监控

    原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...

  9. 管中窥豹——从对象的生命周期梳理JVM内存结构、GC调优、类加载、AOP编程及性能监控

    如题,本文的宗旨既是透过对象的生命周期,来梳理JVM内存结构及GC相关知识,并辅以AOP及双亲委派机制原理,学习不仅仅是海绵式的吸收学习,还需要自己去分析why,加深对技术的理解和认知,祝大家早日走上 ...

随机推荐

  1. 锋利的jQuery-1--end()

    1.导航菜单:选中后显示当前标签下的子标签并且高亮,并且隐藏其他同级标签,(一行级联操作即完成),主要看end()函数用法. end(): 回到最近的一个"破坏性"操作之前.就是指 ...

  2. linux 定时 svn 代码更新,配置文件不修改

    普通参数: 普通参数为正常的传参数:  例子:  f1("111") 指定参数: 指定参数为指定哪个参数给函数方法里面某个形式参数专用,优点:不受传参数的位置约束.   例子:  ...

  3. Javascript输出表格

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. linux 访问tomcat 管理页面时 You are not authorized to view this page 403(真实可用)

    ava代码 收藏代码 You are not authorized to view this page. If you have not changed any configuration files ...

  5. 繁华模拟赛 ljw分雕塑

    /* 用f[i][k]表示考虑到第i个雕塑,分成k组,可不可行(这是一个bool类型的数组) 转移: f[i][k]=f[j][k-1],sum[i]-sum[j]合法 */ #include < ...

  6. Drainage Ditches(dinic)

    Drainage Ditches Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 59210   Accepted: 2273 ...

  7. [Effective JavaScript 笔记] 第6条:了解分号插入的局限

    分号可以省略 js可以在语句结束不强制加分号.(建议还是添加,不添加分号往往会出现不易发现的BUG) function Point(x,y){ this.x=x||0; this.y=y||0; } ...

  8. Procrustes Analysis普氏分析法

    选取N幅同类目标物体的二维图像,并用上一篇博文的方法标注轮廓点,这样就得到训练样本集: 由于图像中目标物体的形状和位置存在较大偏差,因此所得到的数据并不具有仿射不变性,需要对其进行归一化处理.这里采用 ...

  9. HTML 快速入门

     最近帮朋友研究作一个网站,虽然对很多人来说这是很简单的事情,但是对我来说却比较复杂!废话不多讲了,看看我找的HTML快速入门,说不定也会对你有帮助! 一. HTML 的基本概念 HTML ( Hyp ...

  10. Linux 怎么重命名多个文件

    下面是重命名命令的基本语法. rename [-v -n -f] <pcre> <files> <pcre> 是Perl兼容正则表达式,它表示的是要重命名的文件和该 ...