LOOKUP ON tag1 WHERE tag1.prop1 == "xxx" yield tag1.prop2查询很慢

  • nebula 版本:3.0.0
  • 部署方式:分布式
  • 安装方式: RPM
  • 是否上生产环境:Y
  • 硬件信息
    • 磁盘 SSD
    • CPU、内存信息
  • 问题的具体描述
    LOOKUP ON tag1 WHERE tag1.手机号码 == "xxx" yield tag1.id的查询很慢
    通常要6秒以上,在tag1.手机号码上面已经添加了索引.
    CREATE TAG INDEX tag1_indexONtag1 (手机号码(11));
    tag1的点的总数量为9.7亿个
    应该如何优化呢?查询计划如下:
1 个赞

调高下 block cache试试?

我注意到我的配置文件中rocksdb_block_cache参数的值仅为4,也就是4MB,我看到 Nebula Graph图数据库性能优化指导大纲 - 文章 / NebulaGraph - NebulaGraph 技术社区
文章中提到的是可用内存*0.7
我们的机器内存配置是376G × 6,所以这个参数我应该设置为376×6 ×0.7 = 1579G,也就是1616896MB
即rocksdb_block_cache=1616896
这样对吗

不是,nebula 的架构是 share nothing 的,每个节点上的 rocksdb 是独立的,所以应该是配置自己这个机器的就行,即 376*0.7

不过,如果你这个机器还和 graphd 合并部署的话,我建议 不要配那么大,配个 150G 左右?我感觉就差不多了

另外,你的版本有点老了

谢谢方老师,我已经调整到150G,并且将备用图库升级到最新版3.8了,期待3.8的表现

果然,问题迎刃而解,速度大幅提升,还得是您方老师 :+1: :+1::+1::+1::+1::+1::+1::+1:

1 个赞

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