性能测试之操作系统计数器分析方法

内存分析方法:

内存分析用于判断系统有无遇到内存瓶颈,是否需要通过增加内存等手段提高系统性能表现。内存分析需要使用计数器:Memory & Physical Disk类别的计数器,以下是内存分析的主要方法和步骤

1>.查看Memory\Available Mbytes指标,该计数器是描述系统可用内存的直接指标,在对系统进行操作系统级别的内存分析时,首先通过该指标建立一个初步的印象,了解性能测试过程中系统是否仍然有足够的内存可用,如果该指标的数据比较小,系统可能出现了内存方面的问题,这时需要继续依据以下步骤进行进一步的分析

2>.注意Pages/sec、Pages Read/sec 和 Page Faults/sec的值。操作系统经常会利用磁盘交换的方式提高系统可用的内存量或内存的使用效率。Windows和Unix操作系统都提供了类似的方法来支持磁盘交换计数,而这三个指标直接反应了操作系统进行磁盘交换的频度

Pages/sec的计数持续高于几百?很可能会有内存方面的问题产生,但Pages/sec的值很大不一定表明内存有问题,而可能是运行使用内存映射文件的程序所致

Page Faults/sec值表示每秒发生页面失效的次数,页面失效次数越多,说明操作系统向内存中读取的次数越多,此时还需要查看Pages Read/sec的计数值,该阀值为5,如果超过5,则可判断存在内存方面的问题。

3>.根据Physical Disk计数器的值分析性能瓶颈,对Physical Disk计数器的分析包括对Page Reads/sec 和%DiskTime 及Average Disk Queue Length的分析。如果Pages Read/sec很低,同时%Disk Time 和Average Disk Queue Length的值很高,则可能有磁盘瓶颈。但是,如果队列长度增加的同时Pages Read/sec并未降低,则是由于内存不足。

处理器分析方法

1>.查看System\%Total Processor Time性能计数器的计数值。该计数值用于体现服务器整体的处理器利用率,对多处理器系统而言,该计数值体现的是所有CPU的平均利用率。如果该值的数值持续超过90%,则可以说明整个系统面临处理器方面的瓶颈,需要通过增加处理器来提高性能

2>.查看每个CPU的Processer\%Processor Time和Processor\%User Time 和 Processor\%Privileged Time

Processor\%User Time 是指系统的非核心操作消耗的CPU的时间,如果该值较大,可以考虑是否能通过算法优化等方法降低该值。如果服务器是数据库,Processor\%User Time 值大的原因很可能是数据库的排序或是函数操作消耗了过多的CPU时间,此时可以考虑对数据库系统进行优化。

3>.研究系统处理器瓶颈,查看System\Processor Queue Length计数器的值,当该计数器的值大于CPU数量的总数1时,说明产生了处理器阻塞。在处理器的%Process Time值很高时一般都伴随着处理器阻塞,但产生处理器阻塞时,Processor\%Process Time计数器的值并不一定很大,此时就是必须查看处理阻塞的原因。

%DPC Time是另一个需要关注的内容,该计数值越低越好。在多处理器系统中,如果该值大于50%并且Processor\%Processor Time值非常高,则考虑加入一个网卡来提高性能。

磁盘I/O分析方法

1>.计算每磁盘的I/O数。每磁盘的I/O数可用来与磁盘的I/O能力进行对比,如果经过计算得到的每磁盘I/O数超过了磁盘标称的I/O能力,则说明确实存在磁盘的性能瓶颈。

2>.与Processor\Privileged Time合并进行分析。如果在Physical Disk计数器中,只有%Disk Time值较大,其他值都比较适中,则硬盘可能会是瓶颈。若几个值都比较大,且数值持续超过80%,则可能是内存泄露。

3>.根据Disk sec/Transfer进行分析。一般来说,定义Transfer数值小于15毫秒为优秀,介于15~30毫秒之间为良好,30~60毫秒之间为可接受,超过60毫秒则需要考虑更换硬盘货硬盘的RAID方式

进程分析方法

1>.查看进程的%Processor Time值,每个进程%Processor Time值反映出进程所消耗的处理时间。将不同进程所消耗的处理器时间进行对比,可以容易地看出具体哪个进程在性能测试过程中消耗了最多的处理器时间,从而可以据此针对应用进行优化

2>.查看每个进程产生的页面失效

3>.了解进程的Process\Private Bytes

网络分析方法

Network Interface\Bytes Total/sec为发送和接收字节的速率,可以通过该计数器的值判断网络连接速度是否是瓶颈,具体操作方式是用该计数器的值和目前网络的带宽进行比较。

时间: 2024-08-23 18:40:12

性能测试之操作系统计数器分析方法的相关文章

性能测试之操作系统篇

好的性能测试工程师一定是对操作系统有一定的了解的.对于底层的了解越深,越有实力去分析和参透各种性能问题,快速的找出性能的瓶颈.以下是我学习过程中的学习笔记,记录下我的理解过程,也欢迎大家纠正! 第一篇:基础概念篇 1.  操作系统中的系统调用.中断.上下文切换概念的含义 系统调用 在操作系统上如果想要运行你的程序,就得靠自己从面向底层硬件的代码编起,但这件事太枯燥,且不是每个人都能做到,这样操作系统就替我们做这些事情,把硬件封装,统一提供一套接口,这些接口就是系统调用: 系统调用把应用程序的请求

性能测试(五)性能分析方法

影响软件应用性能的因素有很多,下面简单介绍下其中几种影响因素及分析方法.     ----参考书籍<软件性能测试过程详解与案例剖析> 有关于Windows和linux系统的性能计数器,大家可参考虫师的博客:http://www.cnblogs.com/fnng/archive/2012/10/30/2747246.html 一.内存分析 内存的使用情况是系统性能中重要的因素之一,频繁的页交换及内存泄露都会影响到系统的性能(这里主要以Windows系统为主). 内存分析用于判断系统有无遇到内存瓶

性能分析方法

1.内存分析方法 内存分析方法主要是用于判断系统有无遇到内存瓶颈,是否需要通过增加内存等手段提高系统性能表现.主要计数器包括Memory和Physical Disk类别的计数器 内存分析的主要步骤和方法如下: (1) 首先查看Memory\Available Mbytes指标 该值是用于描述系统可用内存的直接指标,在对系统进行操作系统级别的内存分析时,首先应通过该值建立一个初步的印象,了解性能系统测试过程中,系统是否仍然有足够的内存可用. 如果该指标的数据比较小,系统可能出现了内存方面的问题,此

Android APP性能分析方法及工具

近期读到<Speed up your app>一文.这是一篇关于Android APP性能分析.优化的文章.在这篇文章中,作者介绍他的APP分析优化规则.使用的工具和方法.我觉得值得大家借鉴.英文好的读者可读原文(链接:http://blog.udinic.com/2015/09/15/speed-up-your-app). 1.作者的规则 作者每次着手处理或寻找性能问题时,遵循下列规则: 时常检测 在更新APP前后,用测试工具软件多检测几次APP性能,可快速得到测试数据.这些数字是不会说谎的

性能测试之Windows常见性能计数器

性能计数器(counter)是描述服务器或操作系统性能的一些数据指标.计数器在性能测试中发挥着“监控和分析”的关键作用,尤其是在分析系统的可扩展性.进行性能瓶颈的定位时,对计数器的取值的分析非常关键.但必须说明的是,单一的性能计数器只能体现系统性能的某一个方面,对性能测试结果的分析必须基于多个不同的计数器. 与性能计数器相关的另一个术语是“资源利用率”.该术语指的是系统各种资源的使用状况.为了方便比较,一般用“资源的实际使用/总的资源可用量”形成资源利用率的数据,用以进行各种资源使用的比较. 性

性能瓶颈分析方法(引用)

同一场景1.小用户量的情况下测试2.大用户量情况下的测试 分析的方法:整个系统架构分析,系统响应时间消耗,利用图表分析查看事务响应时间,通过事务摘要图分析事务响应时间,那个消耗最大(通过小用户量和大用户量的响应时间分析,查看那个事务响应时间最高),确定哪部分功能是性能的瓶颈,分析window resource图表,查看cpu 使用下列计数器标识cpu瓶颈Processor\ Interrupts/secProcessor\ % Processor TimeProcess(process)\ %

性能测试—瓶颈分析方法

1.内存分析方法 内存分析用于判断系统有无内存瓶颈,是否需要通过增加内存等手段提高系统性能表现. 内存分析需要使用的计数器:Memory类别和Physical Disk类别的计数器.内存分析的主要方法和步骤: (1)首先查看Memory\Available Mbytes指标 如果该指标的数据比较小,系统可能出现了内存方面的问题,需要继续下面步骤进一步分析. 注: 在UNIX/LINUX中,对应指标是FREE(KB) (2)注意Pages/sec.Pages Read/sec和Page Fault

Linux内核源码分析方法

  一.内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次.如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径.我们都知道,想成为优秀的程序员,需要大量的实践和代码的编写.编程固然重要,但是往往只编程的人很容易把自己局限在自己的知识领域内.如果要扩展自己知识的广度,我们需要多接触其他人编写的代码,尤其是水平比我们更高的人编写的代码.通过这种途径,我们可以跳出自己知识圈的束缚,进入他人的知识圈,了解更多甚至我们一

[Android Pro] Android应用性能测试之CPU和内存占用(转载)

首先稍做分析一下测试环境:我们知道CPU和内存占用是一个实时变化的状态,而市面上还没有具体的哪款android应用能做到实时监控CPU和内存占用并使用log日志保存.考虑到android的底层框架是基于Linux的平台,所有我们可以通过Linux的资源监控命令来实现对android平台的资源实时监控. 要做到上边的测试环境的实现,需要具备以下几点: 1.被测试的手机具备root权限:因为涉及到底层的linux命令,需要读取或执行相应的文件.至于如何root你的手机,不同型号的手机root的方法不