http://blog.itpub.net/4555/viewspace-712952


几天有一台备库在累积了多日的REDO后,进行REDO APPLY时,整个系统变得异常缓慢,通过Windows 2003性能监控工具发现是硬盘IO出现瓶颈。下面列出收集的Windows 2003自带性能监控工具的指标说明。

工具的执行方式:管理 -> 性能

相关性能指标:

1) Memory -> Page Reads/sec过高,持续大于5。
过多的页交换要使用大量的硬盘空间,很容易将导致将页交换内存不足与导致页交换的磁盘瓶径混淆。这就需要我们在研究内存不足不太明显的页交换的原因时,必须跟踪如下的磁盘使用情况计数器和内存计数器:
Physical Disk -> % Disk Time
Physical Disk -> Avg.Disk Queue Length
Memory -> Page Reads/sec
含义:
Page Reads/sec 是读取磁盘以解析硬页面错误的次数。它显示读取操作的数量,它并不考虑每个操作的页面数量。当一个进程引用一个虚拟内存的页面,而此虚拟内存位于工作集以 外或物理内存的其他位置,并且此页面必须从磁盘检索时,就会发生硬页面错误。此计数器是引起系统范围内延迟的主要指示器。它包含读取操作以满足文件系统缓 存(通常由应用程序请求)和非缓存映射内存文件的错误。比较内存的值\\PagesReads/sec 与内存的值\\PagesInput/sec 来决定每个操作取读的平均页面数量。
通俗含义:
页的硬故障,Page/sec的子集,是为了解决硬错误,从硬盘读取的次数。
分析:
阈值为>5,越低越好。大数值表示磁盘读而不是缓存读。持续大于5的值,表明内存的读请求发生了较多的缺页中断(page fault)。
说明进程的Working Set已经不够,使用硬盘来虚拟内存。此处为读得次数,不关心读取得页数,比较大的值表明内存出现了瓶颈。
a) 如果Memory -> Page Reads/sec比较低,但Physical Disk -> % Disk Time 和 Physical Disk -> Avg. Disk Queue Length计数器很高,表明磁盘有瓶颈。
b) 如果随着Physical Disk -> Avg. Disk Queue Length的增加,而Memory -> Page Reads/sec并没有减少,表明有内存的瓶颈。
2) 硬盘的相关性能指标
Avg.Disk sec/Transfer计数器反映磁盘完成请求所用的时间。较高的值表明磁盘控制器由于失败而不断重试该磁盘。这些故障会增加平均磁盘传送时间。对于大多数磁盘,较高的磁盘平均传送时间是大于 0.3 秒。
Avg.Disk Bytes/Transfer值大于 20 KB 表示该磁盘驱动器通常运行良好;如果应用程序正在访问磁盘,则会产生较低的值。例如,随机访问磁盘的应用程序会增加平均 Disk sec/Transfer 时间,因为随机传送需要增加搜索时间。
Disk Transfer/sec一般来说,定义该值小于15ms最为优异,介于15-30ms之间为良好,30-60ms之间为可以接受,超过60ms则需要考虑更换硬盘或硬盘的RAID方式了。
如果以下几个计数器之一的值有大于20毫秒的话,磁盘就是超负荷了:Avg.Disk sec/Read,avg.Disk sec / Write,Avg.Disk sec/Transfer。
如果在Physical Disk 计数器中,只有%Disk Time 比较大,其他值都比较适中,硬盘可能会是瓶颈。若几个值都比较大,且数值持续超过80%,则可能是内存泄漏。
3) 决定工作负载的平衡
要 平衡网络服务器上的负载,需要了解服务器磁盘驱动器的繁忙程度。使用 Physical Disk -> % Disk Time 计数器,该计数器显示驱动器活动时间的百分比。如果 % Disk Time 较高(超过 90%),请检查 Physical Disk -> 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% 的值(出现这种现象的原因是处理器允许操作系统使用重叠的I/O,磁盘性能计数器使用一个100纳秒精度的计数器来度量磁盘时间,再按照采样频率显示出 来。采样后的时间可能会超过100%,比如:在2毫秒内有10个请求,采样时间为10毫秒。如果是raid磁盘,因为操作系统可以读写到多到磁盘上,从而 产生重叠 I/O,这会使%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。
使用技巧:

1)可以开启日志跟踪的功能,将各参数的变化情况记录到日志文件,供以后分析。
2)如果开启的指标太多,看不清楚,可以自定义计数器增加计数指标;线条的颜色、比率、粗细等,以从中分辨出自己最关注的曲线。