windows linux 计算性能,Windows Perfmon与Linux IOstat存储性能工具

Windows Perfmon与Linux IOstat存储性能工具

转载请在文首保留原文出处:EMC中文支持论坛

介绍

Windows的Perfmon和*nux的IOStat是操作系统自带的存储性能状态检测的工具。它们能收集绝大多数性能指标,文章给出了两个工具输出的参数详解。操作系统自带的工具也派大用场。

更多信息

Windows Perfmon:

Perfmon的全称是Windows Peformance Monitor(“Perfmon”),是Windows操作系统自带一个性能监控工具,可以用来发现操作系统是否存在I/O瓶颈。基本上每个管理员都会用它。虽然他的功能强大,涵盖得面也比较广。不过其中参数众多,可能管理员在选择特定性能指标的时候无从下手。本文是着重在磁盘性能的性能参数入手,介绍一下Perform针对PhysicalDisk的部分。

Perfmon中和磁盘性能有关的计数器有以下几种:

% 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

其中比较重要的参数有:

% Disk Time

% Disk Time说明在性能数据采样区间内,磁盘处于做读写状态的百分比。一个没有I/O压力的磁盘,这个值应该小于100%。理论上应该是% Disk Read Time 和% Disk Write Time这两个值的和。但是有时候这个值会远大于100%,不太准确。作为一个趋势线,供管理员参考。

% Idle Time

% Idle Time说明在采样区间内,磁盘处于空闲状态的百分比。相对于经常大于100%的% Disk Time,这个值却是准的。当磁盘处于空闲状态时,它的值是100%。当磁盘在满负荷做操作时,它的值是0%。所以我们可以通过这个值,反推出% Disk Time的真实值。

Disk Bytes/sec

Disk Bytes/sec指明每秒钟磁盘作的读和写的数量,以Bytes为单位。它是Disk Read Bytes/sec 和 Disk Write Bytes/sec的和。管理员可以根据链接的存储系统的磁盘速度和Raid类型,看看是否达到理论上限。关于各种磁盘的参考速度,可以参考《如何计算IOPS》

Avg. disk sec/transfer

磁盘每做一次读或者写的动作所花的平均时间。如果后端存储的缓存可用且没有压力,这个值理论上会比较低。

Avg. disk sec/read

磁盘每做一次读操作所花的平均时间。后端存储Read Hit的比例会影响到这个数值

Avg. disk sec/write

磁盘每做一次写操作所花的平均时间。一样。存储系统的缓存会影响到这个数值

给一些参考值,这个是一个通用的界定,管理员还需要针对自己的应用要求来衡量:

好: < 10 ms、 还能接受: 10ms ~ 20ms 、比较差:20ms ~ 50m、很差: > 50ms

Avg. Disk Queue Length

在一个时间点上,磁盘队列的长度,也就是发出的磁盘操作正在等待被磁盘处理的请求数目。例如前端应用发出一条读的请求,但是目标磁盘当时正在处理其他任务(大文件读写之类的)。那么这个新的读请求就会被放在磁盘队列里。这时候磁盘队列的值就是1。理论上讲,这个值不应该长时间地大于2,如果是的话,说明磁盘的相应速度已经很慢了,前端应用程序肯定会受到影响。

Linux IOStat:

IOStat *nux的系统命令用来收集操作系统存储端的输入输出相关的统计信息。简单易用,遇到存储相关问题的时候管理员最想想到的就是这个命令,它支持本地磁盘的同时也支持mount到操作系统的网络文件系统,例如NFS。

IOstat的基本输出包括以下几项(单位都是KB):

Tps:指该磁盘设备上每秒的传输次数,这和存储系统的IOPS有点不同,根据不同的应用,每个IO的小大是不一样的,有可能多个逻辑请求会被合并成一个文件系统的IO。

kB_read/s:每秒从该磁盘设备上读取的数据量

kB_wrtn/s:每秒写入的数据量

kB_read:命令运行的区间内读取数据总量

kB_wrtn:命令运行的区间内写入数据总量

如果使用-X参数,iostat会输出更多信息

rrqm/s:每秒这个设备相关的读取请求有多少被合并了,例如文件系统发现不同的读取请求读取的是相同Block的数据,文件会将这个请求合并;

wrqm/s:每秒这个设备相关的写入请求有多少被Merge了。

rsec/s:每秒所读取的扇区数

wsec/:每秒所写入的扇区数。

r/s:每秒读取请求的数目;

w/s:每秒写入请求的数目;

await:每一个IO请求的处理的平均时间(单位是微秒毫秒)。类似于前文中介绍的Avg. Disk Queue Length,可以理解为IO的响应时间。

%util:在统计时间内所有处理IO时间,除以总共统计时间。和Windows中的% Idle Time。

检查存储性能的过程不能单单靠一个指标确定问题所在,管理员要综合考虑,某一个数值高并不代表肯定有存储性能问题存在。以Windows Perfmon为例,在磁盘负荷高峰的时候,可能会看到Avg. disk sec/transfer比较高的现象。但是这个时候Disk Bytes/sec是不是也很高就比较关键了。如果Disk Bytes/sec已经接近了磁盘的最高上限,那么这个问题就更加是一个磁盘超负荷的问题。如果Disk Bytes/sec不算很高,就应该考虑的是为什么磁盘的速度不理想,可以往后端存储的方向查找问题所在。调整Raid保护级别,存储系统内部的资源分配,创建条带等都是解决方案。

参考

应用于

Windows Operation System

Linux Operation System

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值