loadrunner windows资源分析器浅析

上一篇 / 下一篇  2011-01-18 10:59:26 / 个人分类:性能分析

监测对象

Ø System(系统)

l   %Total Processor Time

系统中所有处理器都处于繁忙状态的时间百分比,对于多处理器系统来说,该值可以反映所有处理器的平均繁忙状态,该值为100%,如果有一半的处理器为繁忙状态,该值为50%服务器。器消耗的处理器时间数量.如果服务器专用于sql server 可接受的最大上限是80% -85 %.也就是常见的CPU 使用率.

l   File Data Operations/sec

计算机对文件系统进行读取和写入操作的频率,但是不包括文件控制操作

l   Process Queue Length

线程在等待分配CPU资源所排队列的长度,此长度不包括正在占有CPU资源的线程。如果该队列的长度大于处理器个数+1,就表示处理器有可能处于阻塞状态(参考值:<=处理器个数+1

Ø  Processor(处理器)

l  %Processor Time

CPU利用率,该计数器最为常用,可以查看处理器是否处于饱和状态,如果该值持续超过 95%,就表示当前系统的瓶颈为CPU,可以考虑增加一个处理器或更换一个性能更好的处理器。(参考值:<80%

l  %Priviliaged Time

CPU在特权模式下处理线程所花的时间百分比。一般的系统服务,进城管理,内存管理等一些由操作系统自行启动的进程属于这类

l  %User Time

%Privileged Time计数器正好相反,指的是在用户状态模式下(即非特权模式)的操作所花的时间百分比。如果该值较大,可以考虑是否通过算法优化等方法降低这个值。如果该服务器是数据库服务器,导致此值较大的原因很可能是数据库的排序或是函数操作消耗了过多的CPU时间,此时可以考虑对数据库系统进行优化。表示耗费CPU的数据库操作,如排序,执行aggregate functions等。如果该值很高,可考虑增加索引,尽量使用简单的表联接,水平分割大表格等方法来降低该值。

l  %DPC Time

处理器在网络处理上消耗的时间,该值越低越好。越低越好。在多处理器系统中,如果这个值大于50%并且Processor:% Processor Time非常高,加入一个网卡可能会提高性能,提供的网络已经不饱和。

Ø  Memory(内存)

l  Page Faults/sec

当处理器在内存中读取某一页出现错误时,就会产生缺页中断,也就是 page Fault。如果这个页位于内存的其他位置,这种错误称为软错误,用Transition Fault/sec 来衡量;如果这个页位于硬盘上,必须从硬盘重新读取,这个错误成为硬错误。硬错误会使系统的运行效率很快将下来。Page Faults/sec个计数器就表示每秒钟处理的错误页数,包括硬错误和软错误。

l  Page Input/sec

表示为了解决硬错误而写入硬盘的页数(参考值:>=Page Reads/sec

l  Page Reads/sec

表示为了解决硬错误而从硬盘上读取的页数。

l  Page/sec

表示为了解决硬错误而从硬盘上读取或写入硬盘的页数(参考值:00~20

l  Pages per second:

每秒钟检索的页数。该数字应少于每秒一页Working set:理线程最近使用的内存页,反映了每一个进程使用的内存页的数量。如果服务器有足够的空闲内存,页就会被留在工作集中,当自由内存少于一个特定的阈值时,页就会被清除出工作集。

l  Available Mbytes

剩余的可用物理内存,单位是兆字节(参考值:>=10%用物理内存数如果Available Mbytes的值很小(4 MB 或更小),则说明计算机上总的内存可能不足,或某程序没有释放内存。

l  Cathe Bytes

文件系统的缓存(默认为50%的可用物理内存)

Ø  Process(进程)

l  private Bytes

进程无法与其他进程共享的字节数量。该计数器的值较大时,有可能是内存泄露的信号

l  Work set

最近处理线程使用的内存页

Ø  PhysicalDisk(磁盘)

l  %Disk Time

表示磁盘驱动器为读取或写入请求提供服务所用的时间百分比,如果只有%Disk Time比较大,硬盘有可能是瓶颈。指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。如果三个计数器都比较大,那么硬盘不是瓶颈。如果只有%Disk Time比较大,另外两个都比较适中,硬盘可能会是瓶颈。在记录该计数器之前,请在Windows 2000 的命令行窗口中运行diskperf -yD。若数值持续超过80%,则可能是内存泄漏。应当总小于90%

l  Average Disk Queue Length

表示磁盘读取和写入请求提供服务所用的时间百分比,可以通过增加磁盘构造磁盘阵列来提高性能(<=磁盘数的2倍)读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。该值应不超过磁盘数的1.5~2 倍。要提高性能,可增加磁盘。注意:一个Raid Disk实际有多个磁盘。不应当超过物理磁盘数量的2,正常值<0.5

l  Average Disk Read Queue Length

表示磁盘读取请求的平均数

l  Average Disk write Queue Length

表示磁盘写入请求的平均数

l  Average Disk sec/Read

磁盘中读取数据的平均时间,单位是秒

l  Average Disk sec/Transer

磁盘中写入数据的平均时间,单位是秒,一般来说,定义该值小于15ms最为优异,介于15-30ms之间为良好,30-60ms之间为可以接受,超过60ms则需要考虑更换硬盘或硬盘的RAID方式了 

l  %Disk reads/sec(physicaldisk_total):

每秒读硬盘字节. 该指标应总小于磁盘I/O子系统的

l  %Disk write/sec(physicaldisk_total):

每秒写硬盘字节数. 该指标应当总小于硬盘I/O子系统的容量

l  Disk Bytes/sec 

指在进行写入或读取操作时从磁盘上传送或传出的字节速率。
此值取决于硬盘的速度

l  Disk Transfers/sec 

指在此盘上读取/写入操作速率。
正常值<(Disk Bytes/sec)/3,此值过大表示系统要求的IO速度已接近硬盘的最大速度,要更换更快的硬盘 D

Ø  Network Interface(网络)

l  Byte Total/sec

表示网络中接受和发送字节的速度,可以用该计数器来判断网络是否存在瓶颈(参考值:该计数器和网络带宽相除,<50%

判断瓶颈

Ø  判断应用程序的问题

  如果系统由于应用程序代码效率低下或者系统结构设计有缺陷而导致大量的上下文切换(context switches/sec显示的上下文切换次数太高)那么就会占用大量的系统资源,如果系统的吞吐量降低并且CPU的使用率很高,并且此现象发生时切换水平在15000以上,那么意味着上下文切换次数过高.

  从图的整体看.context switches/sec变化不大,throughout曲线的斜率较高,并且此时的contextswitches/sec已经超过了15000.程序还是需要进一步优化.

Ø  判断CPU瓶颈

如果processor queue length显示的队列长度保持不变(>=2)个并且处理器的利用率%Processortime超过90%,那么很可能存在处理器瓶颈.如果发现processor queue length显示的队列长度超过2,而处理器的利用率却一直很低,或许更应该去解决处理器阻塞问题,这里处理器一般不是瓶颈.

%processor time平均值大于95,processor queue length大于2.可以确定CPU瓶颈.此时的CPU已经不能满足程序需要.急需扩展.

CPU资源成为系统性能的瓶颈的征兆:

很慢的响应时间(slow response time)

CPU空闲时间为零(zero percent idle CPU)

过高的用户占用CPU时间(%User Time)

过高的系统占用CPU时间(%Priviliaged Time:长期大于90%或者95%)

长时间的有很长的运行进程队列(Process Queue Lengt大于处理器个数+1)

 

Ø  判断内存泄露问题

  内存问题主要检查应用程序是否存在内存泄漏,如果发生了内存泄漏,process\private bytes计数器和process\working set 计数器的值往往会升高,同时avaiable bytes的值会降低.内存泄漏应该通过一个长时间的,用来研究分析所有内存都耗尽时,应用程序反应情况的测试来检验.

图中可以看到该程序并不存在内存泄露的问题.内存泄露问题经常出现在服务长时间运转的时候,由于部分程序对内存没有释放,而将内存慢慢耗尽.也是提醒大家对系统稳定性测试的关注.

 Windows资源监控中,如果Process\Private Bytes计数器和Process\Working Set计数器的值在长时间内持续升高,同时Memory\Available bytes计数器的值持续降低,则很可能存在内存泄漏。

 

Ø  判断内存不足

 如果队列长度(Avg.Disk Queue Length)增加的同时页面读取速率(Page Reads/sec)并未降低,则内存不足。

如果Available Mbytes(剩余物理内存数)的值很小(4 MB 或更小),则说明计算机上总的内存可能不足,或某程序没有释放内存。

Ø  硬件问题

请观察 Processor\ Interrupts/sec 计数器的值,该计数器测量来自输入/输出 (I/O) 设备的服务请求的速度。如果此计数器的值明显增加,而系统活动没有相应增加,则表明存在硬件问题。

 

Ø  I/O资源成为系统性能的瓶颈的征兆

IO Data Bytes/sec(处理从I/O操作读取/写入字节的速度。这个计数器为所有由本处理产生的包括文件、网络和设备I/O的活动计数。)

IO Data Operations/sec

IO Other Bytes/sec

IO Other Operations/sec

IO Read Bytes/sec(每秒IO读取字节数)

IO Read Operations/sec

IO Write Bytes/sec(每秒IO写出字节数)

IO Write Operations/sec

 

过高的磁盘利用率(high disk utilization) 

太长的磁盘等待队列(Physical Disk\ Current Disk Queue Length,正在等待磁盘访问的系统请求数量

等待磁盘I/O的时间所占的百分率太高(Average Disk Queue Length

太高的物理I/O速率:large physical I/O rate(not sufficient in itself) 

过低的缓存命中率(low buffer cache hit ratio(not sufficient in itself)) 

太长的运行进程队列,但CPU却空闲(Process Queue Length)

 

在方案运行中,如果出现了大于3个用户的业务操作失败,或出现了服务器shutdown的情况,则说明在当前环境下,系统承受不了当前并发用户的负载压力,那么最大并发用户数就是前一个没有出现这种现象的并发用户数

Ø  监视磁盘的使用情况

监视磁盘活动涉及两个主要方面:

监视磁盘 I/O 及检测过度换页 

隔离 SQL Server 产生的磁盘活动 

  监视磁盘 I/O 及检测过度换页

可以对下面两个计数器进行监视以确定磁盘活动:

PhysicalDisk: % Disk Time  

PhysicalDisk: Avg. Disk Queue Length  

在系统监视器中,PhysicalDisk: % Disk Time 计数器监视磁盘忙于读/写活动所用时间的百分比。如果 PhysicalDisk: % Disk Time 计数器的值较高(大于 90%),请检查PhysicalDisk: Current Disk Queue Length 计数器了解等待进行磁盘访问的系统请求数量。等待 I/O 请求的数量应

TAG:

引用 删除 樱qq   /   2011-11-29 15:52:28
太棒了!!!受益了
 

评分:0

我来说两句

日历

« 2024-05-09  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 105087
  • 日志数: 69
  • 建立时间: 2011-01-04
  • 更新时间: 2011-05-10

RSS订阅

Open Toolbar