一.监控系统时,需要监控的项
System | 系统 |
Processor | 处理器 |
Memory | 内存 |
PhysicalDisk | 磁盘 |
Server | 服务器 |
二.指标详解
(一). PhysicalDisk--磁盘
(1)%Disk Time-------磁盘利用率
为读或写请求提供服务所用的时间是百分比,放映磁盘工作的繁忙程度。若数值持续超过80%,则可能是内存泄漏。
(2)%Idle Time ——磁盘闲置时间的百分比
汇报磁盘系统没在处理任何请求, 而且没有任何工作在队列中的时间的百分比. 注意这个计数器和%Disk Time相加的时候可能结果不是100%, 因为%Disk Time可能会夸打磁盘的利用率。
(3)Avg.Disk Queue Length------处理列队中的队列的平均长度
读取和写入请求(为磁盘在实例间隔中队列的)平均数,处理器瓶颈会导致该值持续大于2,超过2这可能表示处理器堵塞不同时监视线程计数,这计数始终为0。
(4)Avg. Disk Bytes/Transfer--衡量输入/输出(I/O)操作的数据量的大小
如果磁盘相对快速地传输大量数据, 那么磁盘是高效的.
当衡量最大吞吐量的时候, 应该观察这个计数器.
要进一步地分析数据传输, 应当查看Avg. Disk Bytes/Read 和Avg. Disk Bytes/Write两个计数器。
(5)Disk Transfer/sec—读取/写入操作速率
正常值<(Disk Bytes/sec)/3,此值过大表示系统要求的IO速度已接近硬盘的最大速度,要更换更快的硬盘。
(6)Split IO/sec--I/O请求分为多个磁盘请求的比率
汇报操作系统将I/O请求分为多个磁盘请求的比率. 如果一个程序请求的数据大小太大, 以至于不能放在一个单个请求中, 或是磁盘有碎片, 那么一个split I/O请求可能会发生.
影响IO请求大小的因素可以包括应用程序设计, 文件系统, 驱动程序. 高比率的split I/O可能本身不会作为一个问题出现. 然而, 在单磁盘系统中, 这个计数器的高数值趋向于标志着磁盘碎片。
(二). Processor-处理器
(1)%Interrupt Time---中断时间的百分比
Interrupt Time (中断时间百分比) 是指处理器在采样间隔期间接收和维修硬件中断的时间。该值是生成中断的设备(如系统时钟、鼠标、磁盘驱动器、数据通信线路、网卡和其他外设)活动的间接指标。这些设备通常在完成任务或需要引起注意时中断处理器。在中断期间,正常的线程执行将暂停。大多数系统时钟每 10 毫秒中断一次处理器,创建中断活动背景。在中断期间,暂停正常的线程执行。此计数器显示平均繁忙时间在采样时间内所占的百分比。
(2)%Privileged Time---特权时间的百分比
CPU在特权模式下处理线程所花的时间百分比。一般的系统服务,进城管理,内存管理等一些由操作系统自行启动的进程属于这类。
Privileged Time (特权时间百分比) 是指进程中的线程在特权模式下执行代码所花时间的百分比。在调用 Windows 系统服务时,该服务通常在特权模式下运行,以便访问系统专有数据。在用户模式下执行的线程无法访问这些数据。对系统的调用可以是显式的,也可以是隐式的,例如页面错误或中断。与某些早期操作系统不同,Windows 除了使用用户模式和特权模式这种传统保护方法外,还使用进程边界来保护子系统。除了在进程中的特权时间内出现,Windows 代表应用程序执行的某些操作还可能出现在其他子系统进程中。
(3)%Processor Time -------CPU的占用率
处理器执行行非空闲线程的时间百分比。如果该值持续超过95%,表明瓶颈是CPU,可考虑增加一个处理器或换一个更快的处理器。
(4)Interrupts/sec---------中断速率
CPU每秒处理的中断数,反映系统运行的繁忙程度。大多数的系统时钟每隔 10 毫秒中断处理器一次,形成了间隔活动的后台。
(5)working set—分配给进程的内存总数
它包括共享内存以及正在使用虚拟内存的私有内存,监控working set是非常重要的,因为当内存不足的时候,操作系统会整理进程的working set和paging。进程的working set是由操作系统分配给进程的物理内存总量。
(6)Private Bytes---------进程私占字节数
当前进程独占的字节数,计数器有明显的增长,表明可能存在内存泄漏。
(三). Memory--内存
(1)Available MBytes-------物理内存的可用数
指计算机上可用于运行处理的有效物理内存的字节数量。这个计数器只显示上一次观察到的值;它不是一个平均值。
至少要有10%的物料内存值,如果Available MBytes值一直很小(4M或是更小),说明计算机总的内存可能不足,或某程序没有放内存。怀疑有内存泄露 ,则重点关注该项。
(2)Cache Bytes--系统工作集的总大小
系统工作集的总大小,其包括以下代码或数据驻留在内存中的那一部分:系统缓存、换页内存池、可换页的系统代码(Ntoskrnl.exe和驱动程序),以及系统映射的视图。从字面意思上看,仅仅是指系统缓存,其实不然。
Cache Bytes Memory\\System Cache Resident Bytes、Memory\\System Driver Resident Bytes、Memory\\System Code Resident Bytes 和 Memory\\Pool Paged Resident Bytes的总和。
(3)Committed Bytes--提交的(不是保留的)虚拟内存字节数
Committed Bytes 是指已被提交的(不是保留的)虚拟内存字节数。此数并不一定代表页面文件的使用量,因为它包含了物理内存中从未被换出过的私有提交页面。当然,如果一个进程完全是非驻留的,则它代表所使用的页面文件数量。Windows的地址空间有三种状态。一种是COMMITED,表明该地址空间已和一块内存相联系;一种是RESERVED,表明该地址空间虽未与一块内存相联系但今后可能会用到,需要保留;一种是FREE,表明该地址空间与内存没有联系。
(4)Page Faults/sec ——处理器每秒钟处理的错误页数
当进程引用特定的虚拟内存页,该页不在其在主内存的工作集当中时,将出现页面错误
如果该页位于待机列表(说明已经位于主内存中),或被共享该页的其它进程所使用,该错误被称为软错误(用Transition Fault/sec计数器衡量),则错误处理不会导致从磁盘读取该页;如果该页必须从硬盘上重新读取时,被称为硬错误。许多处理器可以在有大量软错误的情况下继续操作。但是,硬错误可以导致明显的拖延。
如果该值偶尔走高,表明当时有线程竞争内存。如果持续很高,则内存可能是瓶颈。
(5)Pages/sec(including Pages Read/sec and Pages Write/sec)
——处理器每秒从磁盘读取或写入的总页数
Pages/sec 是指为解析硬页错误从磁盘读取或写入磁盘的页数。(当处理程序请求 不在本身工作集或物理内存其它地方中的代码或数据,而必须要从磁盘上检索时就会出现硬页错误)。这个计数器设计成可以显示导致系统范围延缓类型错误的主要指示器。
如果pages/sec持续高于几百,那么您应该进一步研究页交换活动。有可能需要增加内存,以减少换页的需求(你可以把这个数字乘以4k就得到由此引起的硬盘数据流量)。Pages/sec 的值很大不一定表明内存有问题,而可能是运行使用内存映射文件的程序所致。
由于过多的页交换要使用大量的硬盘空间,因此有可能将导致将页交换内存不足与导致页交换的磁盘瓶径混淆。因此,在研究内存不足不太明显的页交换的原因时,您必须跟踪如下的磁盘使用情况计数器和内存计数器:
Physical Disk\ % Disk Time
Physical Disk\ Avg.Disk Queue Length
如果 Disk Time和Avg.Disk Queue Length的值很高,而Page Reads/sec页面读取操作速率很低,则可能存在磁盘瓶径。但如果队列长度增加的同时,页面读取操作速率并未降低,说明内存不足。
(6)Page Reads/sec—读取磁盘以解析硬页面错误的次数
表示为了解决硬错误而从硬盘上读取的页数。
(7)System Cache Resident Bytes--文件系统缓存可换页的操作系统代码的字节大小
此值只包括当前的物理页面,而不包括当前未使用的虚拟内存页面。它不等于“任务管理器”上显示的系统缓存值。因此,此值会比文件系统缓存使用的实际虚拟内存要小。此值是 Memory\\System Code Resident Bytes 的组件,它代表当前在物理内存里的所有可换页的操作系统代码。
(8)Pool Nonpaged Bytes——非分页池的字节数
Pool Nonpaged Bytes 指在非换页池中的字节数,非换页池是指系统内存(操作系统使用的物理内存)中可供对象(指那些在不处于使用时不可以写入磁盘上而且只要分派过就必须保留在物理内存中的对象)使用的一个区域。在访问数比较固定的情况下,Pool Nonpaged Bytes是比较固定的,如果访问数逐步增加,该值会缓慢的增加。 Memory/Process怀疑是内核模式进程导致了泄露 ,则重点关注该项。
(9)Pool Paged Bytes--换页池中的字节数
Pool Paged Bytes 指在换页池中的字节数,换页池是系统内存(操作系统使用的物理内存)中可供对象(在不处于使用时可以写入磁盘的)使用的一个区域。也需要观察Server\\Pool Paged Failures,页面池分配失败的次数。非零表示计算机的物理内存或页面文件太小。
(四). Server—服务器
(1)Bytes Total/sec (Bytes Sent/sec +Bytes Received/sec )——字节传输速率
为发送和接收字节的速率之和,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较。参考值:该值和目前网络的带宽相除,结果应该小于50%。
(2)Pool Paged Failures—分页池的失败数
从分页池分配时失败的次数。这种失败说明计算机的物理内存或分页文件太小。
(3)Pool Nonpaged Bytes(server)
服务器正在使用的不可分页计算机内存的字节数。该值对于确定 Windows NT 注册表中MaxNonpagedMemoryUsage的值非常有用。
(4)Pool paged Bytes(server)
服务器当前正在使用的可分页计算机内存的字节数。该值有助于确定MaxPagedMemoryUsage参数的最佳值。
(五). System--系统
(1)File Data Operations/sec——进程入交换率
在计算机的所有逻辑磁盘上读取和写入操作的综合速度。
(2)Process or Queue Length----------处理列队中的线程数
指处理列队中的线程数,它只计数就绪的线程,而不计数运行中的线程。
如果处理器列队中总是有两个以上的线程,通常表示处理器堵塞。这个计数仅显示上一次观察的值;而不是一个平均值。它的参考值一般小于2,如果持续高于2个并且处理器的利用率一直很低,有可能是处理器出现瓶颈。
(3)Context switches /sec ——上下文交换率
Context Switches/sec 指计算机上的所有处理器全都从一个线程转换到另一个线程的综合速率。当正在运行的线程自动放弃处理器时出现上下文转换,由一个有更高优先就绪的线程占先或在用户模式和特权(内核)模式之间转换以使用执行或分系统服务。它是在计算机上的所有处理器上运行的所有线程的Thread: Context Switches/sec 的总数并且用转换数量衡量。在系统和线程对象上有上下文转换计数器 频繁的页交换将降低系统性能。减少页交换将显著提高系统响应速度
(六). 其它
(1)Threads-------线程数(object)
当前全部线程数
(2)Bytes Total/sec (Bytes Sent/sec + Bytes Received/sec)-------字节传输速率
为发送和接送字节的速率之和,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的宽带比较。参考值:该值和目前的网络宽带的宽带相除,结果应该小于50%。
(4)Free Megabytes--汇报磁盘上没被分配的字节的量
一般监控指标:
1.平均事务响应时间(Average Transation Response Time)
优秀:<2s
良好:2-5s
及格:6-10s
不及格:>10s
2.每秒点击率(Hits per Second)
当增大系统的压力(或增加并发用户数)时,吞吐率和TPS的变化曲线呈大体一致,则系统基本稳定若压力增大时,吞吐率的曲线增加到一定程度后出现变化缓慢,甚至平坦,很可能是网络出现带宽瓶颈.同理若点击率/TPS曲线出现变化缓慢或者平坦,说明服务器开始出现.
3.请求响应时间(Time to Last Byte)
4.每秒系统处理事务数(Transaction per second)
5.吞吐量(Throughout)
6.CPU利用率(Processor / %Processor Time)
好:70%
坏:85%
很差:90%+
7.数据库操作消耗的CPU时间(Processor / %User Time)
如果该值较大,可以考虑是否能通过友好算法等方法降低这个值。如果该服务器是数据库服务器, Processor\%User Time 值大的原因很可能是数据库的排序或是函数操作消耗了过多的CPU时间,此时可以考虑对数据库系统进行优化。
8.核心态CPU平均利用率(Processor /%Privileged Time)
如果该参数值和"Physical Disk"参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统
9.处理列队中的线程数(Processor / Processor Queue Length)
如果该值保持不变(>=2)个并且%Processor Time 超过90%,那么可能存在处理器瓶颈。如果发现超过2,而处理器的利用率却一直很低,那么或许更应该去解决处理器阻塞问题,这里处理器一般不是瓶颈。
10.文件系统缓存(Memory / Cache Bytes)
50%的可用物理内存
11.剩余的可用内存(Memory / Avaiable Mbytes)
至少要有10% 的物理内存值
12.每秒下载页数(Memory / pages/sec)
好:无页交换
坏:CPU每秒10个页交换
很差:更多的页交换
13.页面读取操作速率(Memory / page read/sec)
如果页面读取操作速率很低,同时 % Disk Time 和 Avg.Disk Queue Length的值很高,则可能有磁盘瓶径。但是,如果队列长度增加的同时页面读取速率并未降低,则内存不足。
14.物理磁盘利用率(Physical Disk / %Disk Time)
好:<30%
坏:<40%
很差:<50%+
15.物理磁盘平均磁盘I/O队列长度(Physical Disk / Avg.Disk Queue Length)
该值应不超过磁盘数的1.5~2 倍。要提高性能,可增加磁盘
16.网络吞吐量(Network Interface / Bytes Total/sec)
判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽,结果应该小于50%
17.数据高速缓存区命中率:命中率应大于0.90最好
18.共享区库缓存区命中率:命中率应大于0.99
19.监控 SGA 中字典缓冲区的命中率:命中率应大于0.85
20.检测回滚段的争用:小于1%
21.监控 SGA 中重做日志缓存区的命中率:应该小于1%
22.监控内存和硬盘的排序比率:最好使它小于 10%