说到磁盘性能的衡量标准,必须要提到五个常见指标,也就是我们经常用到的,使用率、
饱和度、IOPS、吞吐量以及响应时间等。这五个指标,是衡量磁盘性能的基本指标。
使用率,是指磁盘处理 I/O 的时间百分比。过高的使用率(比如超过 80%),通常意味
着磁盘 I/O 存在性能瓶颈。
饱和度,是指磁盘处理 I/O 的繁忙程度。过高的饱和度,意味着磁盘存在严重的性能瓶
颈。当饱和度为 100% 时,磁盘无法接受新的 I/O 请求。
IOPS(Input/Output Per Second),是指每秒的 I/O 请求数。
吞吐量,是指每秒的 I/O 请求大小。
响应时间,是指 I/O 请求从发出到收到响应的间隔时间。
磁盘 I/O 观测
iostat 是最常用的磁盘 I/O 性能观测工具,它提供了每个磁盘的使用率、IOPS、吞吐量等
各种常见的性能指标,当然,这些指标实际上来自 /proc/diskstats。
%util ,就是我们前面提到的磁盘 I/O 使用率;
r/s+ w/s ,就是 IOPS;
rkB/s+wkB/s ,就是吞吐量;
r_await+w_await ,就是响应时间。
进程 I/O 观测
要观察进程的 I/O 情况,你还可以使用 pidstat 和 iotop 这两个工 具。
pidstat 加上 -d 参数,你就可以 看到进程的 I/O 情况,它可以实时查看每个进程的 I/O 情况,包括下面这些内容
用户 ID(UID)和进程 ID(PID) 。
每秒读取的数据大小(kB_rd/s) ,单位是 KB。
每秒发出的写请求数据大小(kB_wr/s) ,单位是 KB。
每秒取消的写请求数据大小(kB_ccwr/s) ,单位是 KB。
块 I/O 延迟(iodelay),包括等待同步块 I/O 和换入块 I/O 结束的时间,单位是时钟
周期。
iotop:根据 I/O 大小对进程排序