微信号:dellemc_tech

介绍:为戴尔易安信客户提供技术支持服务,为广大IT行业用户分享技术文章与行业信息。

使用Windows Perfmon看存储性能问题

2016-08-02 23:18 EMC中文技术社区

     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%,否则则说明磁盘处于极度繁忙状态,或存在性能问题。


     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中文支持论坛


 
戴尔易安信技术支持 更多文章 备份和归档的区别 云计算的三种模型:公有云、私有云和混合云 正确描述IO类型 【大咖讲网络】谁动了我的网络 浅析I/O处理过程与存储性能的关系
猜您喜欢 如何用树莓派和 Kali Linux 搭建一个便携式的黑客工作站 CSS 伪类 :target 的黑科技 日本农民都用深度学习种黄瓜了你怎么还在搬砖 C# memcache 程序猿的电脑是怎么样个配置?