iostat + 如何解决磁盘延迟

iostat + 如何解决磁盘延迟

我们使用 iostat -x 并检查 await 列 - 每个设备它显示等待的总时间加上磁盘对请求的实际处理

iostat -yzx 5


Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sdm               0.00     0.00    0.00    1.60     0.00     4.20     5.25     0.00    0.75    0.00    0.75   0.62   0.10
sda               0.00     0.40    0.00    3.00     0.00    24.70    16.47     0.11   37.60    0.00   37.60   7.13   2.14
sdc               0.00     0.00    0.00    0.80     0.00     6.10    15.25     0.01   12.75    0.00   12.75  12.75   1.02
sdb               0.00     0.00    0.00    0.40     0.00     2.40    12.00     0.01   19.50    0.00   19.50  19.50   0.78
sdd               0.00     0.00    0.00    0.80     0.00     6.60    16.50     0.01   10.75    0.00   10.75  10.75   0.86
sdg               0.00     0.00    0.00    1.00     0.00     8.90    17.80     0.02   15.80    0.00   15.80  15.80   1.58
sdf               0.00     0.20    0.00    1.00     0.00     8.00    16.00     0.01   12.80    0.00   82.80  12.80   1.28
sde               0.00     0.00    0.00    0.80     0.00     7.50    18.75     0.01   11.25    0.00   11.25  11.25   0.90
sdk               0.00     0.00    0.00    0.80     0.00     6.50    16.25     0.01   14.25    0.00   14.25  14.25   1.14
sdi               0.00     0.00    0.00    1.00     0.00     7.20    14.40     0.01   11.60    0.00   11.60  11.60   1.16
sdj               0.00     0.00    0.00    0.80     0.00     5.90    14.75     0.01   13.50    0.00   13.50  13.50   1.08
sdh               0.00     0.00    0.00    0.80     0.00     5.60    14.00     0.01   13.25    0.00   13.25  13.25   1.06
sdl               0.00     0.00    0.00    1.00     0.00     7.20    14.40     0.01   14.20    0.00   14.20  14.20   1.42
sdn               0.00     0.00    0.00    1.60     0.00     4.20     5.25     0.00    0.88    0.00    0.88   0.75   0.12
md1               0.00     0.00    0.00    0.40     0.00     3.20    16.00     
sdq               0.00     0.00    0.00    0.60     0.00     5.20    17.33     0.01   12.67    0.00   82.67  12.67   0.76
sdr               0.00     0.00    0.00    0.60     0.00     4.20    14.00     0.01   10.00    0.00   10.00  10.00   0.60

我们从输出中可以看到,某些磁盘上的 await 很高

我的问题是——我们能做些什么呢?

有什么办法可以解决这个问题吗?

答案1

相关磁盘上的服务时间约为 15ms - 对于正在旋转的 Rust 来说,这是一个相当正常的值。由于您只有非常有限的未完成 I/O 数量,并且几乎没有读取,因此您受到随机写入限制。解决该问题的最简单方法是使用 bcache dm-cache 或任何带有合适 SSD 的东西。

相关内容