当只有单个进程使用磁盘时IO吞吐量较低?

当只有单个进程使用磁盘时IO吞吐量较低?

我在 centos 上运行一个繁忙的仙人掌服务器,有时rrdtool写入磁盘时进程非常慢,在 HTOP 中,IO 列会显示 100-300 之间的值。一个轮询周期最多mysqld可以获取 3000 个 IO,该进程也会飙升至 1000 或 2000,然后在 IO 完成rrdtool时回落。mysqld

我不知道这个数字代表什么,但在其他仙人掌上,数字越高,进程完成磁盘使用的速度就越快,并且完成的工作量相同。在另一台机器上,rrdtool更新次数将达到 16 000,并且它经历的更新次数与这个缓慢的更新数量相似,并且在相同的虚拟主机、相同的配置上,它完成的速度要快几个数量级。

这种行为有解释吗?我已经将调度程序设置为 noop,并将 nr_requests 设置为 32 很长一段时间了。如果我更改调度程序,我不会看到不同的行为,并且增加队列大小会很快增加延迟并使其变得更慢。它是虚拟服务器,但磁盘本身位于虚拟主机本地。

相关内容