单机部署1千万节点仅做节点过滤查询这个性能正常吗

  • nebula 版本:3.6.0
  • 部署方式 单机(虚拟机)
  • 安装方式:Tar包
  • 是否上生产环境:N
  • 硬件信息
    • 磁盘 2T普通硬盘
    • CPU内存信息 16核32G
  • 问题的具体描述 导入 1千万节点 和 7000条边 数据,仅做节点过滤查询耗时1min多钟
    查询语句:PROFILE match (n:IP{asn:‘AS3462’}) return n limit 100
    查询结果:Got 100 rows (time spent 1m33.818939s/1m33.808934164s)
    Execution Plan (optimize time 309 us) 见文本:
    execution_plan.txt (16.7 KB)
    请教大家,这个性能正常吗,如何优化?

:thinking: 这个语句应该没啥优化空间了,如果条件允许的话,可以换成 ssd 看看性能如何。

同样配置的虚拟机,部署成集群模式,性能会有线形提升吗?除了硬件配置,软件配置方面没有优化项了吗?

你的 IP tag 是不是没有创建索引,我刚有仔细看了一眼索引,似乎你的索引没有命中生效,:thinking: 你给它创建一个索引看看是不是会好点。执行计划如何看你可以看下这篇文章:https://mp.weixin.qq.com/s/2TWzlhzodebNlCwFbLJlwg

针对IP的asn属性做了索引的,做完索引做的查询

你的索引命中了4307205条数据,这个是符合预期的吗?如果是的话,考虑用LOOKUP语句试试,看上去AppendVertices的limit没有下推。

3 个赞

是符合预期的,确实命中结果这么多,看来返回结果的多少也影响查询性能;使用lookup结合limit确实加速了查询速度,感谢!

1 个赞

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