为什么在启用了直接I / O模式的glusterFS中读取速度非常低?

时间:2018-07-02 10:56:15

标签: operating-system filesystems glusterfs

我们在三个节点的gluster上运行我们的应用程序。 情况1:在默认配置下,我们的应用程序的写入速度为150 MBps,读取速度也相同。 情况2:通过在gluster体积中设置以下三个参数来启用直接I / O模式

direct-io-mode=enable
network.remote-dio           off
performance.strict-o-direct  on

应用程序的写入速度有所提高,达到250 MBps,但读取速度却很低。 要读取5 GB的数据,大约需要20分钟。

问题:为什么在直接I / O模式下读取速度如此之慢?如何在直接I / O模式下配置gluster或其他任何东西以获得更好的读取速度?

每个节点的规范:

RAM: 132 GB
Processor count: 16

石膏规格:

Trusted Service Pool has 3 physical nodes, With one Brick is configured on each node.
Storage Type: SSD
Gluster Version: glusterfs 3.8.4

音量规格:

Type: Replicate
Number of Bricks: 1 x 3 = 3
performance.read-ahead: off
performance.cache-refresh-timeout: 1
performance.cache-size: 20GB  ( We tried lesser cache-size also like 256 MB, but in vain )
nfs.disable: on
cluster.brick-multiplex: on
Volume Size: 200 GB

1 个答案:

答案 0 :(得分:0)

在这种情况下,直接IO模式下读取速度较低的原因是缓存丢失。您可以使用两个命令 cachestat cachetop 找出匹配的详细信息。