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

监控性能计数器

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

在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. Servlet之Filter详细讲解

    Filter,过滤器,顾名思义,即是对数据等的过滤,预处理过程.为什么要引入过滤器呢?在平常访问网站的时候,有时候发一些敏感的信息,发出后显示时 就会将敏感信息用*等字符替代,这就是用过滤器对信息进行 ...

  2. gcc/g++ 参数

    -static  此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么 动态连接库,就可以运行. -share  此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库.

  3. Linux下web目录权限设置

    1.nginx和php-fpm运行用户为www 2.我们假设web目录所属着为web_owner 3.将web目录的用户和用户组设置为web_owner和www,如下命令:chown -R web_o ...

  4. linux文件系统模拟

    #include "stdio.h" #include <stdlib.h> //#include <conio.h> #include <strin ...

  5. stripslashes — 反引用一个引用字符串

    stripslashes (PHP 4, PHP 5) stripslashes — 反引用一个引用字符串 Report a bug  说明 string stripslashes ( string  ...

  6. mysql 的设置

    网上的一些文章都已经比较老了,现在版本高了之后,其实配置是很省力的(不考虑什么负载的话) 分享全过程,出了文中提到的安装epel rpmfushion 源指令不同外,其他的过程也适用与Centos 5 ...

  7. JQUERY 模糊选择

    JQUERY 模糊选择        [属性名称]         匹配包含给定属性的元素      [att=value]       匹配包含给定属性的元素      [att*=value]   ...

  8. C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别 (转)

    1.C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种: 全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域. 从作用域看: 1>全局变量具有全局 ...

  9. JavaScript中的Function(函数)对象详解

    JavaScript中的Function对象是函数,函数的用途分为3类: 作为普通逻辑代码容器: 作为对象方法: 作为构造函数. 1.作为普通逻辑代码容器 function multiply(x, y ...

  10. 使用python一步一步搭建微信公众平台(一)

    使用的工具,python 新浪SAE平台,微信的公众平台 你需要先在微信的公众平台与新浪SAE平台上各种注册,微信平台注册的时候需要你拍张手持身份证的照片,还有几天的审核期 微信公众平台:http:/ ...