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

监控性能计数器

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

在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. WPF 窗口自定义拉伸

    .NET技术交流群 199281001 .欢迎加入. //自定义窗体拉伸 public HwndSource _HwndkaifaSource; private const int WM_SYSCOM ...

  2. Radius 远程用户拨号认证系统

    RADIUS 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . RADIUS:Remote Authentication Dial In User Service,远程用户拨号认证系 ...

  3. ASP.NET 生成二维码(采用ThoughtWorks.QRCode和QrCode.Net两种方式)

    最近做项目遇到生成二维码的问题,发现网上用的最多的是ThoughtWorks.QRCode和QrCode.Net两种方式.访问官网看着例子写了两个Demo,使用过程中发现两个都挺好用的,Thought ...

  4. 随鼠标移动的div

    <html> <head> <style type='text/css'> #d{ border:1px solid green; width:90px; heig ...

  5. 域名在微信朋友圈内分享需要ICP备案 杜绝不良信息传播

    就在刚刚,腾讯微信团队发布公告表示域名在朋友圈内分享需要ICP备案,杜绝打击不良互联网信息的传播.公告称根据互联网管理相关规定,即日起在微信朋友圈内分享的域名,请在2014年12月31日前完成ICP备 ...

  6. String的内存分配

    1.String类是final类不能被继承 2.String str="abc"的内部工作 (1)先在栈中定 一个名为str的String类的引用变量 String str: (2 ...

  7. 专注docker安全:Security Scanning

    导读 Docker毫无疑问是近期运维同学们的热点话题,Docker安全也由此倍受重视,Docker Security Scanning 是一款Docker镜像扫描的安全工具,目前已经在Docker C ...

  8. python网络编程之最简单的单工通信

    tcp_server.py from socket import * server = socket(AF_INET, SOCK_STREAM) server.bind(('',12345)) ser ...

  9. [BZOJ1998][Hnoi2010]Fsk物品调度

    [BZOJ1998][Hnoi2010]Fsk物品调度 试题描述 现在找工作不容易,Lostmonkey费了好大劲才得到fsk公司基层流水线操作员的职位.流水线上有n个位置,从0到n-1依次编号,一开 ...

  10. jQuery mobile 开发问题记录

    一.动态加载页面问题 1.存在这样一个页面布局: main.html 为主界面A,B为该页面中的三个page,其中A为splitview左部分页面,B为右半部页面 a1.html 为一个独立的页面 a ...