我们在三个节点的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
答案 0 :(得分:0)
在这种情况下,直接IO模式下读取速度较低的原因是缓存丢失。您可以使用两个命令 cachestat 和 cachetop 找出匹配的详细信息。