努力, 努力, 再努力
全部博文(220)
分类: 系统运维
2016-08-27 17:20:15
介绍
Windows Perfmon的全称是Windows Performance Monitor(“Perfmon”),是一个Windows操作系统集成的性能监控工具,其中包含的条目CPU,内存,磁盘,应用程序等等。本文关注存 储相关的Physical Disk中的性能条目,深入介绍每个条目的含义,以及和存储系统中IOPS、IO Size、Throughput(MB/s)、Disk Response Time对应关系,帮助用户更好的了解Windows平台的存储性能状况。
更多信息
使用Windows Perfmon:
打 开Perfmon的方法很简单,在Windows桌面直接点击开始 – 运行 – 输入perfmon。打开工具以后,从右侧选择Performance Monitor。点击窗口上的绿色添加按钮,添加性能条目。选择Physical Disk然后展开,Instance of Selected Object选择所需要查看的磁盘,点击添加。(截图为Windows Server 2008版本的Perfmon)
选择需要的性能条目和监控的磁盘以后,点击确认,Perfmon开始对磁盘性能数据进行采样。用户可以选择三种数据的呈现方式:趋势图、柱状图和报表(下图为报表类型)。
Windows Perform “Physical Disk”中的性能条目:
Physical Disk之类中包含了很多性能条目:
% idle time
% disk time
% disk read time
% disk write time
Disk Bytes/sec
Disk Transfers/sec
Disk Reads/sec
Disk Writes/sec
Disk Read Bytes/sec
Disk Write Bytes/sec
Avg. disk sec/read
Avg. disk sec/write
Avg. disk sec/transfer
Avg. disk bytes/transfer
Avg. Disk Queue Length
Avg. disk read queue length
Avg. disk write queue length
Current Disk Queue Length
乍一看内容比较多,而且不是很容易理解。下面我们把这些性能条目按照存储系统中常用的性能指标IOPS、IO Size、Throughput(MB/s)、Disk Response Time进行分类,更加容易理解和区分。
关于磁盘响应时间(Disk Response Time)条目:
1.Avg. Disk sec/Transfer:显示了存储端处理的每个IO的平均时间。
2.Avg. Disk sec/Read:显示了存储端处理的每个读IO的平均时间。
3.Avg. Disk sec/Write:显示了存储端处理的每个写IO的平均时间。
上
述条目显示的单位都是毫秒ms。这些条目是需要在性能分析中最先查看的内容,Disk Response
Time直接决定了存储系统对应用的服务水平。通常用户感觉到性能问题,也是因为磁盘存储的Disk Response
Time上升。下面以数据库应用为例,给出一些参考的Disk Response
Time,如果磁盘响应在对应的范围内,则视为可以接受,否则需要进一步查看原因。当然根据生产环境的不同和应用的状况也需要区别对待。
数据文件:
?1-5ms,比较理想。
?6-20ms,可接受。
?大于20ms,会有性能问题,需要解决方案。
数据库事务日志:
?1-2ms,比较理想。
?2-6ms,可接受。
?6-15ms,需要优化。
?大于15ms,会有性能问题,需要解决方案。
数据仓库:
数据仓库由于应用的IO类型特点,通常单个IO都会比较大,从而使得IO的响应时间会增加,通常情况下对于数据仓库和报表系统,25-30ms会是比较健康的值。
关于IO大小(IO Size)的条目:
Avg. disk bytes/transfer直接显示了在采样期间,Windows服务器发送到存储的IO的平均大小。关于不同应用的参考IO大小的内容,可以参考文章:关于不同应用程序存储IO类型的描述
关于IOPS条目:
1.Disk Transfers/sec:显示了磁盘上的IOPS总数,直观的显示了说对应LUN上的每秒IO的吞吐量。
2.Disk Reads/sec:显示了磁盘每秒的读IO数量。
3.Disk Writes/sec:显示了磁盘每秒的写IO数量。
根 据IOPS处理的参考值,虽然我们获取不同物理磁盘所对应的参考IOPS。不过实际生产环境中情况会更加复杂,由于存储阵列的缓存机制的存在,对于特定 LUN的IOPS计算牵涉到缓存的命中,一个健康的存储环境,IOPS会远高于物理磁盘理论值之和。但也不是IOPS越高说明存储有性能问题,最先需要注 意的还是在上面谈到的Disk Response Time。如果IOPS处于一个低点,并没有达到物理磁盘的理论值,但是Disk Response Time则很高,则说明存储端是存在问题的。
下面列出几种不同的物理磁盘类型的参考IOPS值:
?15000rpm 硬盘 120 – 180 IOPs
?10000rpm 硬盘100 – 150 IOPs
?7200rpm 硬盘 80 - 100 IOPs
?企业级SSD磁盘2000 – 5000 IOPs
关于Throughput(MB/s)条目:
1.Disk Bytes/sec:显示了磁盘上的总的数据传输量,单位为Byte。
2.Disk Read Bytes/sec:显示了磁盘上读数据的传输量。
3.Disk Write Bytes/sec:显示了磁盘上写数据的传输量。
这个值的显示换算成MB需要除以1024^2。这里要提到的一点是,IOPS和带宽显示并不是完全成正比的。通常情况下,对于小IO的情况,着重看的是IOPS,对于大IO的情况,则是Throughput(MBs)。
其他性能条目:
% idle time 、%disk time、%disk read time、% disk write time这几个值显示磁盘处于做读写状态的百分比。理论上,disk time%这个值应该小于100%,否则则说明磁盘处于极度繁忙状态,或存在性能问题。
引用:
%disk time超过100%的解析
现象:
在LR上我们可以看到%disk time超过100%的现象.
如果机器处在很忙的状态,这个值有可能会超过100%,比如,大量的文件.
原因:
出现这种现象的原因是处理器允许操作系统使用重叠的I/O,磁盘性能计数器使用一个100纳秒精度的计数器来度量磁盘时间,再按照采样频率显示出来.采样
后的时间可能会超过100%,比如:在2毫秒内有10个请求,采样时间为10毫秒.如果是raid磁盘,因为操作系统可以读写到多到磁盘上,从而产生重叠
I/O,这会使%disk time大于100%.
Avg. Disk Queue Length、Avg. disk read queue length、Avg. disk write queue length、Current Disk Queue Length这几个值显示了磁盘队列长度的相关信息。所谓Disk Queue也就是服务器端发出的存储操作正在等待被存储处理的请求数目。例如有一个应用发出一条读请求,但是目标磁盘当时正在处理其他任务。那么这个新的 读请求就会被放在磁盘队列里。这时候磁盘队列的值就是1。理论上讲,Current Disk Queue Length的这个值不应该长时间地大于2。Avg. Disk Queue Length的值也是,如果看到采样期间,平均的Queue Length大于1,则说明在采样的某段时间存储无法完全响应应用端说发出的IO请求的。
本文作者为EMC中文技术社区()技术版主。