经过Windows常见性能计数器分析服务器性能瓶颈

转载 http://www.cnblogs./junzhongxu/archive/2011/02/15/1954889.htmlhtml

监测对象算法

Ø System(系统)sql

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) Ø 判断内存泄露问题

内存问题主要检查应用程序是否存在内存泄漏,若是发生了内存泄

漏,processprivate bytes计数器和processworking set 计数器的值每每会升高,同时avaiable bytes的值会下降.内存泄漏应该经过一个长时间的,用来研究分析全部内存都耗尽时,应用程序反应状况的测试来检验

.

图中能够看到该程序并不存在内存泄露的问题.内存泄露问题常常出如今服务长时间运转的时候,因为部分程序对内存没有释放,而将内存慢慢耗尽.也是提醒你们对系统稳定性测试的关注.

Windows资源监控中,若是ProcessPrivate Bytes计数器和ProcessWorking Set计数器的值在长时间内持续升高,同时MemoryAvailable 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 请求的数量应该保持在不超过组成物理磁盘的轴数的 1.5 到 2 倍。大多数磁盘只有一个轴,但独立磁盘冗余阵列 (RAID) 设备一般有多个轴。硬件 RAID 设备在系统监视器中显示为一个物理磁盘。经过软件建立的多个 RAID 设备在系统监视器中显示为多个实例。

可使用 Current Disk Queue Length和 % Disk Time计数器的值检测磁盘子系统中的瓶颈。若是 Current Disk Queue Length和 % Disk Time计数器的值一直很高,则考虑下列事项:

使用速度更快的磁盘驱动器。

 将某些文件移至其余磁盘或服务器。

 若是正在使用一个 RAID 阵列,则在该阵列中添加磁盘。 

若是使用 RAID 设备,% Disk Time计数器会指示大于 100% 的值。若是出现这种状况,则使用 PhysicalDisk: Avg.Disk Queue Length计数器来肯定等待进行磁盘访问的平均系统请求数量。

I/O 依赖的应用程序或系统可能会使磁盘持续处于活动状态。

监视 Memory: Page Faults/sec计数器能够确保磁盘活动不是由分页致使的。在 Windows 中,换页的缘由包括:

配置进程占用了过多内存。

 文件系统活动。 

若是在同一硬盘上有多个逻辑分区,请使用 Logical Disk计数器而非 Physical Disk计数器。查看逻辑磁盘计数器有助于肯定哪些文件被频繁访问。当发现磁盘有大量读/写活动时,请查看读写专用计数器以肯定致使每一个逻辑卷负荷增长的磁盘活动类型,例如,Logical Disk: Disk Write Bytes/sec。

Ø 判断磁盘瓶颈

Disk Time和Avg.Disk Queue Length的值很高,而Page Reads/sec页面读取操做速率很低,则可能存在磁盘瓶径。

Physical Disk Disk Reads/sec and Disk Writes/sec

Physical Disk Current Disk Queue Length

Physical Disk % Disk Time

LogicalDisk % Free Space

测试磁盘性能时,将性能数据记录到另外一个磁盘或计算机,以便这些数据不会干扰您正在测试的磁盘。

可能须要观察的附加计数器包括 Physical Disk Avg.Disk sec/Transfer 、Avg.DiskBytes/Transfer,和Disk Bytes/sec。

Avg.Disk sec/Transfer 计数器反映磁盘完成请求所用的时间。较高的值代表磁盘控制器因为失败而不断重试该磁盘。这些故障会增长平均磁盘传送时间。对于大多数磁盘,较高的磁盘平均传送时间是大于 0.3 秒。

也能够查看 Avg.Disk Bytes/Transfer 的值。值大于 20 KB 表示该磁盘驱动器一般运行良好;若是应用程序正在访问磁盘,则会产生较低的值。例如,随机访问磁盘的应用程序会增长平均 Disk sec/Transfer 时间,由于随机传送须要增长搜索时间。

Disk Bytes/sec 提供磁盘系统的吞吐率。

决定工做负载的平衡要平衡网络服务器上的负载,须要了解服务器磁盘驱 动器的繁忙程度。使用 Physical Disk %Disk Time 计数器,该计数器显示驱动器活动时间的百分比。若是 % Disk Time 较高(超过90%),请检查 Physical Disk Current Disk Queue Length 计数器以查看正在等待磁盘访问的系统请求数量。等待 I/O 请求的数量应当保持在不大于组成物理磁盘的主轴数的 1.5 到2倍。 尽管廉价磁盘冗余阵列 (RAID) 设备一般有多个主轴,大多数磁盘有一个主轴。硬件 RAID设备在“系统监视器”中显示为一个物理磁盘;经过软件建立的 RAID 设备显示为多个驱动器(实例)。能够监视每一个物理驱动器(而不是 RAID)的 Physical Disk 计数器,也可使用 _Total 实例来监视全部计算机驱动器的数据。

使用 Current Disk Queue Length 和 % Disk Time 计数器来检测磁盘子系统的瓶颈。若是Current Disk Queue Length 和 % Disk Time 的值始终较高,能够考虑升级磁盘驱动器或将某些文件移动到其余磁盘或服务器。

本文档下载自360文档中心,www.360docs.net更多营销,职业规划,工做简历,入党,工做报告,总结,学习资料,学习总结,PPT模板下载,范文等文档下载;转载请保留出处:http://www.360docs.net/doc/info-4357972e647d27284b7351e0.html

相关文章
相关标签/搜索