iostat
iostat
$ iostat -x -d 2
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 0.25 0.04 0.53 0.56 4.88 19.25 0.00 6.85 3.09 7.14 0.25 0.01
iostat -mtx 2
,即每
$ fio --name=randwrite --rw=randwrite --bs=4k --size=20G --runtime=1200 --ioengine=libaio --iodepth=64 --numjobs=1 --rate_iops=5000 --filename=/dev/sdf --direct=1 --group_reporting
使用

上图中,%util,即为磁盘
-
rrqm/s : 每秒合并读操作的次数,块设备有相应的调度算法。如果两个IO 发生在相邻的数据块时,他们可以合并成1 个IO 。 -
wrqm/s: 每秒合并写操作的次数 -
r/s:每秒读操作的次数
-
w/s : 每秒写操作的次数 -
rMB/s : 每秒读取的MB 字节数 -
wMB/s: 每秒写入的MB 字节数 -
avgrq-sz:每个
IO 的平均扇区数,即所有请求的平均大小,以扇区(512 字节)为单位。 -
avgqu-sz:平均为完成的
IO 请求数量,即平均意义山的请求队列长度,该值越大,表示排队等待处理的io 越多。 -
await:平均每个
IO 所需要的时间,包括在队列等待的时间,也包括磁盘控制器处理本次请求的有效时间。 -
r_wait:每个读操作平均所需要的时间,不仅包括硬盘设备读操作的时间,也包括在内核队列中的时间。
-
w_wait: 每个写操平均所需要的时间,不仅包括硬盘设备写操作的时间,也包括在队列中等待的时间。 -
svctm:表面看是每个
IO 请求的服务时间,不包括等待时间,但是实际上,这个指标已经废弃。实际上,iostat 工具没有任何一输出项表示的是硬盘设备平均每次IO 的时间。 -
%util:工作时间或者繁忙时间占总时间的百分比。
值得关注的是,8个扇区 = 8*512(Byte)= 4KB
。