使用 match 语句查询边长路径长时间无数据返回。

使用

match p=(v:ip)-[*n]-(v2) return p limit 10

1跳:2s
2跳:15s
3跳:140s 占用 16G内存
4跳:1200+ 秒 还未返回数据,内存占用增加到 280 多G,手动结束查询。
想实现在图上找到 15 跳的路径,但是测试到 4 跳就已经等了很长时间,按照这个集群规模和服务器配置感觉不应该是这样的表现,整个语句执行过程中 CPU占用率没有明显的增加,内存占用升高明显,
已经按照 3.4.1 版本的官方文档建议调整了linux 内核参数。

  • nebula 版本: 社区版3.4.1
  • 物理服务器配置 80核,512G ,Centos-7.6,SSD磁盘
  • 部署方式:集群部署
    3 台物理服务器: meta节点 + storage节点
    6 台物理服务器:graph节点 + storage节点
  • 图空间配置 vid 字符串(200),三分片 三副本
  • 图数据规模 点:13006, 边:29787
    服务配置基本都是默认配置,没有额外调整。

问题: 是不是可以通过调整一些参数来加速查询,或者有其他的思路可以实现在图上找15条路径的需求。预期的图数据规模会在 千万点,亿级别边

点和边的数量都是万?

都是个,我们用更大数据量测试会更慢,所以找了一个小图测试

这个语句找了ip 这个tag 所有点的所关联的所有n跳边,计算量比较大吧

我们想尝试在图中找到一个 15跳左右的路径,但是没有办法确定路径中额外的信息,所以只能盲搜,目前只想到了使用变长路径的方法,是不是有其他的思路实现这?

spark 离线计算? 用motif finding 这个估计也要算好久

您好,方便给一个参考的文档或者连接吗?谢谢您

你的点边数据、schema能否分享?感觉你这个数据量4跳很久确实有点不太正常。
另外,你vid一定要配200吗?能小点不?

PySpark + GraphX 图算法尝鲜 - 文章 / 图学习和 LLM - NebulaGraph 技术社区 (nebula-graph.com.cn)

1 个赞

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