性能评估 之 disk IO

一、磁盘性能指标
1、IOPS
随机IO 的IOPS比较低
如果磁盘的cache比较大,则实际测试中的IOPS会比没有cache时高;

2、KB per IO
每次IO 取回的数据量;
每次IO最大读写数据量是有限制的,可以通过修改内核参数进行更改;


二、IO评估指标
1、vmstat Block in /out
bi+bo过大,而且vmstat cpu wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。

2、IOwait time
iostat iowait% 小于25%,说明IO性能处于良好的状态;

3、util 磁盘使用率
 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的即 delta(use)/s/1000 (因为use的单位为毫秒)
(1)如果 %util 接近 100%说明产生的I/O请求太多I/O系统已经满负荷该磁盘可能存在瓶颈
(2)idle小于70% IO压力就较大了一般读取速度有较多的wait
(3)同时可以结合vmstat 查看查看b参数(等待资源的进程数)和wa参数(IO等待所占用的CPU时间的百分比高过30%时IO压力高)

4、await 平均等待时间
平均每次设备I/O操作的等待时间 (毫秒).即 delta(ruse+wuse)/delta(rio+wio)
await 的大小一般取决于服务时间(svctm) 以及 I/O 队列的长度和 I/O 请求的发出模式
(1)await 的参数要多和 svctm 来参考差的过高就一定有 IO 的问题
(2)如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;
(3)如果 await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。如果响应时间超过了用户可以容许的范围这时可以考虑更换更快的磁盘调整内核 elevator 算法优化应用

5、avgqu-sz 平均I/O队列长度
(1)如果avgqu-sz比较大,也表示有大量io在等待。
avgqu-sz 也是个做 IO 调优时需要注意的地方这个就是直接每次操作的数据的大小如果次数多但数据拿的小的话其实 IO 也会很小如果数据拿的大IO 的数据会高也可以通过 avgqu-sz × ( r/s or w/s ) = rsec/s or wsec/s也就是讲读写速度是这个来决定的
由于 avgqu-sz 是按照单位时间的平均值所以不能反映瞬间的 I/O 洪水


你可能感兴趣的:(perfomance)