针对大量的FETCH\LOOKUP查询,如何调优blockcache,已减少磁盘IO

  • nebula 版本:v2.0.1
  • 部署方式:分布式
  • 安装方式:源码编译
  • 是否上生产环境:Y
  • 硬件信息
    3节点
    8C32G
    ESSD云盘 3000G
  • 问题:
  1. 后续我们对nebula集群的LOOKUP 和 FETCH查询量会有大幅度的增加,我理解是否可以通过调整rocksdb的blockcache大小以及其他参数来增加内存的cache缓存,从而减少直接查磁盘的IO,提升查询的吞吐性能?
  2. 如果后续查询量大幅增加有没有在nebula上层加一层redis缓存的必要?还是说调大rocksdb blockcache本身其实就是等同于加了内存缓存,其实也没有必要再加redis的缓存了。

调大 cache 试试看,看看是不是可以满足你对延迟的要求。

NebulaGraph 的 storaged 是不可能优化到 redis 的延迟级别的,毕竟是分布式数据库的存储层,查询链路比较长;用 redis 加一层相当于再加一个系统了,整体架构也更复杂。还是要看你对 latency 的要求是要多低。1

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。