我在 centos 上运行一个繁忙的仙人掌服务器,有时rrdtool
写入磁盘时进程非常慢,在 HTOP 中,IO 列会显示 100-300 之间的值。一个轮询周期最多mysqld
可以获取 3000 个 IO,该进程也会飙升至 1000 或 2000,然后在 IO 完成rrdtool
时回落。mysqld
我不知道这个数字代表什么,但在其他仙人掌上,数字越高,进程完成磁盘使用的速度就越快,并且完成的工作量相同。在另一台机器上,rrdtool
更新次数将达到 16 000,并且它经历的更新次数与这个缓慢的更新数量相似,并且在相同的虚拟主机、相同的配置上,它完成的速度要快几个数量级。
这种行为有解释吗?我已经将调度程序设置为 noop,并将 nr_requests 设置为 32 很长一段时间了。如果我更改调度程序,我不会看到不同的行为,并且增加队列大小会很快增加延迟并使其变得更慢。它是虚拟服务器,但磁盘本身位于虚拟主机本地。