如果我看到Windows平均磁盘秒/传输计数器>持续18-20毫秒,然后我在煤矿的金丝雀刚刚死亡,我需要进一步调查.简单明了.
我现在正在看Linux,并没有看到类似的基于延迟的指标.我所做的快速研究表明,我甚至可能都不想……我看到许多人对I / O等等的引用是大多数人追踪这一点的方式.
你有没有关于这个的球场经验法则?例如,任何i / o等待我看到数据库的数量不好?是否有一个简单的iostat命令让我更好地了解整体磁盘健康状况,而不仅仅是眼球TOP?
非常感谢!
> -x显示扩展统计信息.
> -k以千字节每秒显示统计信息.或者使用m表示兆字节/秒.
> 10秒显示间隔
这是与Windows Average Disk sec / Transfer几乎相同的度量标准,以ms而不是秒列出.因此可以应用类似的经验法则,但这取决于各种各样的事情.我通常发现用户开始抱怨15毫秒,20毫秒是非常糟糕的.
按ctrl c退出,或使用count参数指定要查看的迭代次数.请注意,由于第一次迭代中使用的时间样本很少,第一次迭代结果会严重偏差.
来自man iostat页面
await发送给要提供的设备的I / O请求的平均时间(以毫秒为单位).这包括队列中的请求所花费的时间以及为其提供服务所花费的时间.
编辑:
await是我用来监视生产负载下的磁盘的主要指标,以查看其吞吐量和iops是否能够满足需求.
%iowait stat更多地是关于cpu和磁盘使用之间的平衡.如果cpu和磁盘活动都很高,%iostat将保持低于预期.另一方面,从相当低的磁盘使用率水平开始,如果cpu空闲,%iostat可能相对较高.据说等待也需要采取一些盐.如果发生大量顺序读/写操作,它会将数字偏移到较低的值,并且在这些条件下,18~20ms的经验法则将无用,因为写入的大多数块将是顺序数据并将被提供服务由于磁盘内置的本机命令队列(NCQ)系统通过让磁盘选择请求服务的序列来优化吞吐量,因此磁盘非常快,而其他随机io将等待.