- nebula 版本:3.0.0
- 部署方式:分布式
- 安装方式: RPM
- 是否上生产环境:Y
- 硬件信息
- 磁盘 SSD
- CPU、内存信息
- 问题的具体描述
LOOKUP ON tag1 WHERE tag1.手机号码 == "xxx" yield tag1.id
的查询很慢
通常要6秒以上,在tag1.手机号码
上面已经添加了索引.
CREATE TAG INDEX
tag1_indexON
tag1(
手机号码(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 个赞
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。