首页 > 其他分享 >【操作系统】磁盘IO常见性能指标和分析工具实战

【操作系统】磁盘IO常见性能指标和分析工具实战

时间:2023-02-18 12:37:59浏览次数:39  
标签:请求 await IOPS IO 磁盘 DISK 性能指标


1.磁盘读写常见的指标

(1)IOPS(Input/Output Operations per Second)

  • 指每秒能处理的I/O个数,表示块存储处理读写(输出/输入)的能力,单位为次,有顺序IOPS和随机IOPS
  • 比如100次/秒,那iops就是100次/秒,例如数据库类应用等典型场景重点提升这个指标,下面是阿里云盘性能

(2)吞吐量/带宽(Throughput)

  • 是指单位时间内可以成功传输的数据数量,单位为MB/s
  • 比如 一个硬盘的读写 IO 是 1MB,硬盘的 IOPS 是 100,那么硬盘总的吞吐率就是 100MB/s
  • 带宽 = IOPS * IO大小

(3)访问时延(Latency)

  • 是指IO请求从发出到收到响应的间隔时间,常以毫秒ms或者微妙us为单位
  • 硬盘响应时间 = 硬盘访问时间 + IO排队延迟,过高的时延会导致应用性能下降或报错。
  • 普通的HDD磁盘,随机IO读写延迟是10毫秒,IO带宽大约100MB/秒,随机IOPS一般在100左右

(4)使用率 Utilization

  • 指磁盘处理 I/O 的时间百分比,过高的使用率 ,常规字段 Utilization-缩写%util 表示
  • 如超过 80%意味着磁盘 I/O 存在性能瓶颈

(5)I/O 等待队列长度 Queue Length

  • 表示等待处理的 I/O 请求的数目,如果 I/O 请求压力持续超出磁盘处理能力,就会增大队列长度

(6)饱和度

  • 使用率只考虑有没有IO,不考虑IO的大小;当使用率是100%时,磁盘也可能接收新的IO请求

2.iostat查看系统综合的磁盘IO情况

  • 格式:iostat [参数] [时间] [次数] ​​ iostat -p ALL -h​
  • 参数说明

参数

说明

-c

仅显示CPU状态统计信息

-d

仅显示磁盘统计信息

-k或者-m

以kb或者mb为单位显示,常用-h可读性高

-p

指定显示IO的设备,ALL表示显示所有

-x

显示详细信息

【操作系统】磁盘IO常见性能指标和分析工具实战_服务器

注意:iostat不能直接得到磁盘饱和度

字段

说明

r/s

每秒发送给磁盘的读请求次数,r/s+w/s 是磁盘IOPS

w/s

每秒发送给磁盘的写请求次数,r/s+w/s手机磁盘IOPS

rkB/s

每秒从磁盘读取的数据量,rkB/s+wkB/s 是吞吐量

wkB/s

每秒向磁盘写入的数据量,rkB/s+wkB/s 是吞吐量

r_await

读请求处理完成等待时间,包括在队列中的等待时间和设备实际处理时间

r_await+w_await ,是RT响应时间

w_await

写请求处理完成等待时间,包括在队列中的等待时间和设备实际处理时间

r_await+w_await ,是RT响应时间

aqu-sz

平均请求队列长度

rareq-sz

平均读请求大小

wareq-sz

平均写请求大小

%util

磁盘处理I/O的时间百分比,表示的是磁盘的忙碌情况;如果>80% 就是磁盘可能处于忙碌状态

一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的

3.磁盘IO常见指标和分析命令工具介绍

(1)iotop命令

  • 查看当前系统各个进程使用磁盘IO的情况
  • 安装:yum -y install iotop
  • iotop -o -d 3 每3秒刷新下各个进程磁盘IO情况

参数

说明

-o

只显示正在读写磁盘的程序

-d

跟一个数值,表示iotop命令刷新的时间

【操作系统】磁盘IO常见性能指标和分析工具实战_等待时间_02

字段

说明

Total DISK READ

从磁盘中读取的总速率

Total DISK WRITE

往磁盘里写入的总速率

Actual DISK READ

从磁盘中读取的实际速率

Actual DISK WRITE

往磁盘里写入的实际速率

TID

线程ID,按p可以转换成进程ID

PRIO

优先级

USER

线程所有者

DISK READ

进程从磁盘中读取的速率

DISK WRITE

进程往磁盘里写入的速率

SWAPIN

进程swap交换百分比

IO>

IO等待所占用的百分比

COMMAND

具体的进程命令

  • iostats是系统级别的IO监控
  • iotop是进程级别的IO监控

(2)案例测试:模拟IO密集型应用,系统是4核

  • 终端一 模拟2个磁盘IO进程, 持续600s ​​stress --hdd 2 --hdd-bytes 6G --timeout 600s​
  • 终端二 全局 ​​iostat -d -x 1​
  • 终端三 全局 ​​top​
  • 终端四 局部 ​​iotop​

【操作系统】磁盘IO常见性能指标和分析工具实战_网络_03

  • 测试结果

【操作系统】磁盘IO常见性能指标和分析工具实战_网络_04


标签:请求,await,IOPS,IO,磁盘,DISK,性能指标
From: https://blog.51cto.com/u_15646271/6065287

相关文章