nebula3.8.0版本,服务器配置 4核8g 运行内存 32g 顶点数据量大约41w,边的数据量大约24w,用find path查询个顶点之间的7跳路径,设置了num_operator_threads 并没有提高查询速度,耗时17秒左右,有哪些好的方法能提高查询速度。
-
查询语句
FIND NOLOOP PATH WITH PROP FROM ‘微信_wxid_gffzhcum9ino22’,‘抖音_2507342353537739’,‘41271819930412130X’,‘000005_1622851524036’
TO ‘微信_wxid_gffzhcum9ino22’,‘抖音_2507342353537739’,‘41271819930412130X’,‘000005_1622851524036’
OVERperson_account,account_friend,mobile_friend,person_mobile,case_person
BIDIRECT UPTO 7 STEPS YIELD path AS p | limit 100; -
点和边的数据
±--------±----------------------±-------+
| Type | Name | Count |
±--------±----------------------±-------+
| “Tag” | “account” | 346749 |
| “Tag” | “case_info” | 2649 |
| “Tag” | “group” | 9178 |
| “Tag” | “mobile” | 47876 |
| “Tag” | “person” | 7565 |
| “Tag” | “wifi” | 849 |
| “Edge” | “account_friend” | 92171 |
| “Edge” | “account_friend_fund” | 0 |
| “Edge” | “case_person” | 1060 |
| “Edge” | “group_member” | 103373 |
| “Edge” | “mobile_friend” | 33457 |
| “Edge” | “person_account” | 2224 |
| “Edge” | “person_mobile” | 811 |
| “Edge” | “person_wifi” | 6155 |
| “Space” | “vertices” | 413350 |
| “Space” | “edges” | 239251 |
±--------±----------------------±-------+ -
执行计划
-----±------------±-------------±------------------------------------------------±-----------------------------------------
| id | name | dependencies | profiling data | operator info |
-----±------------±-------------±------------------------------------------------±-----------------------------------------
| 8 | Project | 9 | { | outputVar: { |
| | | | “execTime”: “6623(us)”, | “colNames”: [ |
| | | | “rows”: 100, | “p” |
| | | | “totalTime”: “6628(us)”, | ], |
| | | | “version”: 0 | “type”: “DATASET”, |
| | | | } | “name”: “__Limit_6” |
| | | | | } |
| | | | | inputVar: __Limit_7 |
| | | | | columns: [ |
| | | | | “PathBuild[$-._src,$-._edge,$-._dst]” |
| | | | | ] |
-----±------------±-------------±------------------------------------------------±-----------------------------------------
| 9 | AllPaths | 2,3 | { | outputVar: { |
| | | | “buildAdjTime reverse step[1]”: “328(us)”, | “colNames”: [ |
| | | | “buildAdjTime reverse step[2]”: “14177(us)”, | “_src”, |
| | | | “buildAdjTime reverse step[3]”: “43402(us)”, | “_edge”, |
| | | | “buildAdjTime reverse step[4]”: “542436(us)”, | “_dst” |
| | | | “buildAdjTime step[1]”: “263(us)”, | ], |
| | | | “buildAdjTime step[2]”: “13821(us)”, | “type”: “DATASET”, |
| | | | “buildAdjTime step[3]”: “43167(us)”, | “name”: “__Limit_7” |
| | | | “build_path_time”: “14111024(us)”, | } |
| | | | “conjunct_path_time”: “14110990(us)”, | inputVar: { |
| | | | “execTime”: “232(us)”, | “rightVar”: “__Dedup_3”, |
| | | | “resp[0]”: { | “leftVar”: “__Dedup_2” |
| | | | “exec”: “18963(us)”, | } |
| | | | “host”: “10.118.21.49:9779”, | noloop : true |
| | | | “total”: “30432(us)” | withProp : true |
| | | | }, | steps: 7 |
| | | | “reverse step[1]”: [ | filter: |
| | | | { | stepFilter: |
| | | | “exec”: “777(us)”, | offset: 0 |
| | | | “host”: “10.118.21.49:9779”, | limit: 100 |
| | | | “storage_detail”: { | vertexProps: [ |
| | | | “GetNeighborsNode”: “887(us)”, | { |
| | | | “HashJoinNode”: “679(us)”, | “props”: [ |
| | | | “RelNode”: “888(us)”, | “id_card”, |
| | | | “SingleEdgeNode”: “279(us)”, | “name”, |
| | | | “TagNode”: “337(us)” | “sex”, |
| | | | }, | “native_place”, |
| | | | “total”: “1395(us)”, | “national”, |
| | | | “vertices”: 4 | “labels”, |
| | | | } | “img_url”, |
| | | | ], | “version”, |
| | | | “reverse step[2]”: [ | “age”, |
| | | | { | “collect_time”, |
| | | | “exec”: “3632(us)”, | “collect_time_ds”, |
| | | | “host”: “10.118.21.49:9779”, | “_tag” |
| | | | “storage_detail”: { | ], |
| | | | “GetNeighborsNode”: “14395(us)”, | “tagId”: 40 |
| | | | “HashJoinNode”: “5751(us)”, | }, |
| | | | “RelNode”: “14404(us)”, | { |
| | | | “SingleEdgeNode”: “3661(us)”, | “props”: [ |
| | | | “TagNode”: “1707(us)” | “mobile”, |
| | | | }, | “nick”, |
| | | | “total”: “12637(us)”, | “remark”, |
| | | | “vertices”: 61 | “version”, |
| | | | } | “_tag” |
| | | | ], | ], |
| | | | “reverse step[3]”: [ | “tagId”: 39 |
| | | | { | }, |
| | | | “exec”: “34317(us)”, | { |
| | | | “host”: “10.118.21.49:9779”, | “props”: [ |
| | | | “storage_detail”: { | “group_account”, |
| | | | “GetNeighborsNode”: “157705(us)”, | “app_name”, |
| | | | “HashJoinNode”: “123011(us)”, | “group_account_no”, |
| | | | “RelNode”: “157880(us)”, | “group_name”, |
| | | | “SingleEdgeNode”: “79859(us)”, | “version”, |
| | | | “TagNode”: “36785(us)” | “_tag” |
| | | | }, | ], |
| | | | “total”: “56608(us)”, | “tagId”: 38 |
| | | | “vertices”: 1516 | }, |
| | | | } | { |
| | | | ], | “props”: [ |
| | | | “reverse step[4]”: [ | “account”, |
| | | | { | “app”, |
| | | | “exec”: “88226(us)”, | “account_no”, |
| | | | “host”: “10.118.21.49:9779”, | “account_nick”, |
| | | | “storage_detail”: { | “img_url”, |
| | | | “GetNeighborsNode”: “523294(us)”, | “version”, |
| | | | “HashJoinNode”: “161417(us)”, | “_tag” |
| | | | “RelNode”: “523523(us)”, | ], |
| | | | “SingleEdgeNode”: “100304(us)”, | “tagId”: 36 |
| | | | “TagNode”: “52414(us)” | }, |
| | | | }, | { |
| | | | “total”: “296895(us)”, | “props”: [ |
| | | | “vertices”: 1921 | “case_no”, |
| | | | } | “name”, |
| | | | ], | “type”, |
| | | | “rows”: 100, | “org_code”, |
| | | | “step[1]”: [ | “org_path”, |
| | | | { | “larq_date”, |
| | | | “exec”: “711(us)”, | “case_brief”, |
| | | | “host”: “10.118.21.49:9779”, | “zb_user”, |
| | | | “storage_detail”: { | “org_name”, |
| | | | “GetNeighborsNode”: “682(us)”, | “version”, |
| | | | “HashJoinNode”: “486(us)”, | “case_label”, |
| | | | “RelNode”: “683(us)”, | “_tag” |
| | | | “SingleEdgeNode”: “250(us)”, | ], |
| | | | “TagNode”: “175(us)” | “tagId”: 37 |
| | | | }, | }, |
| | | | “total”: “1258(us)”, | { |
| | | | “vertices”: 4 | “props”: [ |
| | | | } | “ap_mac”, |
| | | | ], | “ssid”, |
| | | | “step[2]”: [ | “version”, |
| | | | { | “_tag” |
| | | | “exec”: “4513(us)”, | ], |
| | | | “host”: “10.118.21.49:9779”, | “tagId”: 41 |
| | | | “storage_detail”: { | } |
| | | | “GetNeighborsNode”: “16055(us)”, | ] |
| | | | “HashJoinNode”: “6944(us)”, | edgeProps: [ |
| | | | “RelNode”: “16065(us)”, | { |
| | | | “SingleEdgeNode”: “4318(us)”, | “props”: [ |
| | | | “TagNode”: “2196(us)” | “_dst”, |
| | | | }, | “_rank”, |
| | | | “total”: “10877(us)”, | “_type”, |
| | | | “vertices”: 61 | “account”, |
| | | | } | “account_no”, |
| | | | ], | “app_name”, |
| | | | “step[3]”: [ | “id_card”, |
| | | | { | “nick”, |
| | | | “exec”: “25217(us)”, | “person_name”, |
| | | | “host”: “10.118.21.49:9779”, | “version” |
| | | | “storage_detail”: { | ], |
| | | | “GetNeighborsNode”: “166839(us)”, | “type”: -47 |
| | | | “HashJoinNode”: “128597(us)”, | }, |
| | | | “RelNode”: “167006(us)”, | { |
| | | | “SingleEdgeNode”: “77396(us)”, | “props”: [ |
| | | | “TagNode”: “44864(us)” | “_dst”, |
| | | | }, | “_rank”, |
| | | | “total”: “61078(us)”, | “_type”, |
| | | | “vertices”: 1516 | “app_name”, |
| | | | } | “component_num”, |
| | | | ], | “contact_active_first_time”, |
| | | | “totalTime”: “17637688(us)”, | “contact_active_last_time”, |
| | | | “version”: 0 | “contact_active_num”, |
| | | | } | “contact_first_time”, |
| | | | | “contact_last_time”, |
| | | | | “contact_passive_first_time”, |
| | | | | “contact_passive_last_time”, |
| | | | | “contact_passive_num”, |
| | | | | “dst_account”, |
| | | | | “dst_account_no”, |
| | | | | “dst_nick”, |
| | | | | “event_num”, |
| | | | | “image_num”, |
| | | | | “sensitive_type”, |
| | | | | “src_account”, |
| | | | | “src_account_no”, |
| | | | | “src_nick”, |
| | | | | “transfer_money_num”, |
| | | | | “version” |
| | | | | ], |
| | | | | “type”: -42 |
| | | | | }, |
| | | | | { |
| | | | | “props”: [ |
| | | | | “_dst”, |
| | | | | “_rank”, |
| | | | | “_type”, |
| | | | | “contact_first_time”, |
| | | | | “contact_last_time”, |
| | | | | “contact_message_num”, |
| | | | | “contact_mobile_num”, |
| | | | | “contact_mobile_time”, |
| | | | | “contact_num”, |
| | | | | “dst_mobile”, |
| | | | | “dst_nick”, |
| | | | | “src_mobile”, |
| | | | | “src_nick”, |
| | | | | “version” |
| | | | | ], |
| | | | | “type”: -46 |
| | | | | }, |
| | | | | { |
| | | | | “props”: [ |
| | | | | “_dst”, |
| | | | | “_rank”, |
| | | | | “_type”, |
| | | | | “id_card”, |
| | | | | “mobile”, |
| | | | | “person_name”, |
| | | | | “version” |
| | | | | ], |
| | | | | “type”: -48 |
| | | | | }, |
| | | | | { |
| | | | | “props”: [ |
| | | | | “_dst”, |
| | | | | “_rank”, |
| | | | | “_type”, |
| | | | | “case_label”, |
| | | | | “case_name”, |
| | | | | “case_no”, |
| | | | | “id_card”, |
| | | | | “person_name”, |
| | | | | “version” |
| | | | | ], |
| | | | | “type”: -44 |
| | | | | }, |
| | | | | { |
| | | | | “props”: [ |
| | | | | “_dst”, |
| | | | | “_rank”, |
| | | | | “_type”, |
| | | | | “account”, |
| | | | | “account_no”, |
| | | | | “app_name”, |
| | | | | “id_card”, |
| | | | | “nick”, |
| | | | | “person_name”, |
| | | | | “version” |
| | | | | ], |
| | | | | “type”: 47 |
| | | | | }, |
| | | | | { |
| | | | | “props”: [ |
| | | | | “_dst”, |
| | | | | “_rank”, |
| | | | | “_type”, |
| | | | | “app_name”, |
| | | | | “component_num”, |
| | | | | “contact_active_first_time”, |
| | | | | “contact_active_last_time”, |
| | | | | “contact_active_num”, |
| | | | | “contact_first_time”, |
| | | | | “contact_last_time”, |
| | | | | “contact_passive_first_time”, |
| | | | | “contact_passive_last_time”, |
| | | | | “contact_passive_num”, |
| | | | | “dst_account”, |
| | | | | “dst_account_no”, |
| | | | | “dst_nick”, |
| | | | | “event_num”, |
| | | | | “image_num”, |
| | | | | “sensitive_type”, |
| | | | | “src_account”, |
| | | | | “src_account_no”, |
| | | | | “src_nick”, |
| | | | | “transfer_money_num”, |
| | | | | “version” |
| | | | | ], |
| | | | | “type”: 42 |
| | | | | }, |
| | | | | { |
| | | | | “props”: [ |
| | | | | “_dst”, |
| | | | | “_rank”, |
| | | | | “_type”, |
| | | | | “contact_first_time”, |
| | | | | “contact_last_time”, |
| | | | | “contact_message_num”, |
| | | | | “contact_mobile_num”, |
| | | | | “contact_mobile_time”, |
| | | | | “contact_num”, |
| | | | | “dst_mobile”, |
| | | | | “dst_nick”, |
| | | | | “src_mobile”, |
| | | | | “src_nick”, |
| | | | | “version” |
| | | | | ], |
| | | | | “type”: 46 |
| | | | | }, |
| | | | | { |
| | | | | “props”: [ |
| | | | | “_dst”, |
| | | | | “_rank”, |
| | | | | “_type”, |
| | | | | “id_card”, |
| | | | | “mobile”, |
| | | | | “person_name”, |
| | | | | “version” |
| | | | | ], |
| | | | | “type”: 48 |
| | | | | }, |
| | | | | { |
| | | | | “props”: [ |
| | | | | “_dst”, |
| | | | | “_rank”, |
| | | | | “_type”, |
| | | | | “case_label”, |
| | | | | “case_name”, |
| | | | | “case_no”, |
| | | | | “id_card”, |
| | | | | “person_name”, |
| | | | | “version” |
| | | | | ], |
| | | | | “type”: 44 |
| | | | | } |
| | | | | ] |
-----±------------±-------------±------------------------------------------------±-----------------------------------------
| 2 | Dedup | 1 | { | outputVar: { |
| | | | “execTime”: “6(us)”, | “colNames”: [ |
| | | | “rows”: 4, | “_vid” |
| | | | “totalTime”: “8(us)”, | ], |
| | | | “version”: 0 | “type”: “DATASET”, |
| | | | } | “name”: “__Dedup_2” |
| | | | | } |
| | | | | inputVar: __VAR_0 |
-----±------------±-------------±------------------------------------------------±-----------------------------------------
| 1 | PassThrough | 0 | { | outputVar: { |
| | | | “execTime”: “6(us)”, | “colNames”: , |
| | | | “rows”: 0, | “type”: “DATASET”, |
| | | | “totalTime”: “8(us)”, | “name”: “__PassThrough_1” |
| | | | “version”: 0 | } |
| | | | } | inputVar: |
-----±------------±-------------±------------------------------------------------±-----------------------------------------
| 0 | Start | | { | outputVar: { |
| | | | “execTime”: “0(us)”, | “colNames”: , |
| | | | “rows”: 0, | “type”: “DATASET”, |
| | | | “totalTime”: “26(us)”, | “name”: “__Start_0” |
| | | | “version”: 0 | } |
| | | | } | |
-----±------------±-------------±------------------------------------------------±-----------------------------------------
| 3 | Dedup | 1 | { | outputVar: { |
| | | | “execTime”: “6(us)”, | “colNames”: [ |
| | | | “rows”: 4, | “_vid” |
| | | | “totalTime”: “9(us)”, | ], |
| | | | “version”: 0 | “type”: “DATASET”, |
| | | | } | “name”: “__Dedup_3” |
| | | | | } |
| | | | | inputVar: __VAR_1 |
-----±------------±-------------±------------------------------------------------±-----------------------------------------