IO Tunning

性能指标

一般来说 I/O 性能指标有这几个:

  • 使用率:ioutil,指的是磁盘处理 I/O 的时间百分比,ioutil 只看有没有 I/O 请求,不看 I/O 请求的大小。ioutil 越高表示一直都有 I/O 请求,不代表磁盘无法响应新的 I/O 请求
  • IOPS:每秒的 I/O 请求数
  • 吞吐量/带宽:每秒的 I/O 请求大小,通常是 MB/s 或者 GB/s 为单位
  • 响应时间:I/O 请求发出到收到响应的时间
  • 饱和度:指的是磁盘处理 I/O 的繁忙程度。这个指标比较玄学,没有直接的数据可以表示,一般是根据平均队列请求长度或者响应时间跟基准测试的结果进行对比来估算

在做基准测试时,还会分顺序/随机、读/写进行排列组合分别去测 IOPS 和带宽

上面的指标除了饱和度外,其他都可以在监控系统中看到。Linux 也提供了一些命令来输出不同维度的 I/O 状态:

  • iostat -d -x:看各个设备的 I/O 状态,数据来源 /proc/diskstats
  • pidstat -d:看近处的 I/O
  • iotop:类似 top,按 I/O 大小对进程排序

参考

Infee Fang
Infee Fang
互联网二手搬砖工