用 profile 查看各个算子的耗时情况,GetNeighbors 中的各个指标具体含义是什么?

GetNeighbors 的这些 xxxTime 有点多,虽然说大致能猜出来各个指标是什么含义,但是多少有些不确信,官方能给个标准的解释吗?

非常感谢。

:thinking: 命名挺规范的呀,就是执行时间、总耗时,还有啥问题吗?

  1. total_rpc_time 是指 graphd 从发出请求到收到响应的总时间吧,这个时间也包括了在 storaged 上执行查询的时间吧?
  2. 有多个 storaged 节点都在执行查询,storage_detail 中的各个 XXXNode 的时间是取的哪个 storaged 上对应 Node 时间的,看代码似乎是取的最后一个 storaged 的,取平均是不是更好一点。
  3. storage_detail 中包含了多个 XXXNode,按照火山模型的 Node 嵌套方式,是不是父 Node 的时间包含了子 Node 的时间,比如:GetNeighborsNode 的时间里面包含了 AggregateNode 的时间,AggregateNode 又包含了 FilterNode 的时间?
  4. 各个 storaged 的 exec/total/vertices 中 exec 为执行读取、计算的耗时,那 total - exec 是不是就是网络通信( rpc 请求发出 + 响应传回)的时间?
2 个赞

能再解答一下么?:pray:

稍等哈。我把帖子递给研发了,他会回复你哈

  1. 是的
  2. 是的,只取了一个,应该处理一下
  3. 不是,时间是每个算子独立的
  4. 是的
1 个赞

感谢回复。

关于第三个问题,这个图里面只有一个 storaged,它的各个 XXXNode 的时间加起来是:

167 + 144 + 167 + 142 = 620

exec = 309 要大,这个该怎么理解呢?

:thinking: 应该不是串行运行的 @Shylock-Hg 是吗

回答错了,父节点的时间包含了所有子节点

好的,感谢解答。

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