logo
企业版

特性讲解

NebulaGraph v2.6.0 性能报告

NebulaGraph v2.6 性能报告

本文目录

  • 测试环境
  • 测试数据
  • Nebula Commit
  • 测试用例和结果
    • 查询不带点属性和边属性
    • 查询带边属性信息
    • 查询带目的点属性信息
    • 查询带边属性+目的点属性
    • LOOKUP
    • MATCH
    • MATCH 一跳
    • MATCH 两跳
  • 2.6.0 vs 2.5.0
    • 查询不带点属性和边属性
    • 查询带边属性信息
    • 查询带目的点属性信息
    • 查询带边属性+目的点属性
    • LOOKUP
    • MATCH
    • MATCH 一跳
    • MATCH 两跳
  • 参数配置

测试环境

服务器和压测机皆为物理机:

NebulaGraph v2.6 性能报告

  • 注意:服务器设置 CPU 为 Performance 模式。
$ cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us
  hardware limits: 800 MHz - 3.40 GHz
  available frequency steps:  3.40 GHz, 2.20 GHz, 2.10 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative userspace powersave ondemand performance
  current policy: frequency should be within 800 MHz and 3.40 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 3.40 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes

测试数据

LDBC_SNB_SF100

24 Partitions

3 Replica Factors

Nebula Commit

  • nebula-graphd version 3ba41bd
  • nebula-storaged version 11d8257a

测试用例和结果

查询不带属性/边信息

GO {} STEP FROM {} OVER KNOWS

一跳·吞吐率

NebulaGraph v2.6 性能报告

一跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

一跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

两跳·吞吐率

NebulaGraph v2.6 性能报告

两跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

两跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

三跳·吞吐率

NebulaGraph v2.6 性能报告

三跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

三跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

查询带属性/边信息

GO {} STEP FROM {} OVER KNOWS yield KNOWS.creationDate

一跳·吞吐率

NebulaGraph v2.6 性能报告

一跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

一跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

两跳·吞吐率

NebulaGraph v2.6 性能报告

两跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

两跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

三跳·吞吐率

NebulaGraph v2.6 性能报告

三跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

三跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

查询带目的点属性信息

GO {} STEP FROM {} OVER KNOWS yield $$.Person.firstName

一跳·吞吐率

NebulaGraph v2.6 性能报告

一跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

一跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

两跳·吞吐率

NebulaGraph v2.6 性能报告

两跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

两跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

三跳·吞吐率

NebulaGraph v2.6 性能报告

三跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

三跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

查询带边属性+目的点属性

GO {} STEP FROM {} OVER KNOWS yield DISTINCT KNOWS.creationDate as t, $$.Person.firstName, $$.Person.lastName, $$.Person.birthday as birth | order by $-.t, $-.birth | limit 10

一跳·吞吐率

NebulaGraph v2.6 性能报告

一跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

一跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

两跳·吞吐率

NebulaGraph v2.6 性能报告

两跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

两跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

三跳·吞吐率

NebulaGraph v2.6 性能报告

三跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

三跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

LOOKUP

LOOKUP ON Person WHERE Person.firstName == '{}' YIELD Person.firstName, Person.lastName, Person.gender, Person.birthday, Person.creationDate, Person.locationIP, Person.browserUsed

吞吐率

NebulaGraph v2.6 性能报告

服务端耗时(ms)

NebulaGraph v2.6 性能报告

客户端耗时(ms)

NebulaGraph v2.6 性能报告

MATCH

MATCH (v:Person) WHERE v.firstName == '{}' RETURN v

NebulaGraph v2.6 性能报告

服务端耗时(ms)

NebulaGraph v2.6 性能报告

客户端耗时(ms)

NebulaGraph v2.6 性能报告

MATCH 一跳

MATCH (v1:Person)-[e:KNOWS]->(v2:Person) WHERE id(v1) == {} RETURN v2

吞吐率 NebulaGraph v2.6 性能报告

服务端耗时(ms)

NebulaGraph v2.6 性能报告

客户端耗时(ms)

NebulaGraph v2.6 性能报告

MATCH 两跳

MATCH (v1:Person)-[e:KNOWS*2]->(v2:Person) WHERE id(v1) == {} RETURN v2

吞吐率 NebulaGraph v2.6 性能报告

服务端耗时(ms)

NebulaGraph v2.6 性能报告

客户端耗时(ms)

NebulaGraph v2.6 性能报告

2.6.0 vs 2.5.0

以下数据选取平均值。

查询不带属性/边信息

GO {} STEP FROM {} OVER KNOWS

一跳·吞吐率

NebulaGraph v2.6 性能报告

一跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

一跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

两跳·吞吐率

NebulaGraph v2.6 性能报告

两跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

两跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

三跳·吞吐率

NebulaGraph v2.6 性能报告

三跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

三跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

查询不带属性/边信息

GO {} STEP FROM {} OVER KNOWS yield KNOWS.creationDate

一跳·吞吐率

NebulaGraph v2.6 性能报告

一跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

一跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

两跳·吞吐率

NebulaGraph v2.6 性能报告

两跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

两跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

三跳·吞吐率

NebulaGraph v2.6 性能报告

三跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

三跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

查询带目的点属性信息

GO {} STEP FROM {} OVER KNOWS yield $$.Person.firstName

一跳·吞吐率

NebulaGraph v2.6 性能报告

一跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

一跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

两跳·吞吐率

NebulaGraph v2.6 性能报告

两跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

两跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

三跳·吞吐率

NebulaGraph v2.6 性能报告

三跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

三跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

查询带边属性+目的点属性

GO {} STEP FROM {} OVER KNOWS yield DISTINCT KNOWS.creationDate as t, $$.Person.firstName, $$.Person.lastName, $$.Person.birthday as birth | order by $-.t, $-.birth | limit 10

一跳·吞吐率

NebulaGraph v2.6 性能报告

一跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

一跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

两跳·吞吐率

NebulaGraph v2.6 性能报告

两跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

两跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

三跳·吞吐率

NebulaGraph v2.6 性能报告

三跳·服务端耗时(ms)

NebulaGraph v2.6 性能报告

三跳·客户端耗时(ms)

NebulaGraph v2.6 性能报告

LOOKUP

LOOKUP ON Person WHERE Person.firstName == '{}' YIELD Person.firstName, Person.lastName, Person.gender, Person.birthday, Person.creationDate, Person.locationIP, Person.browserUsed

吞吐率

NebulaGraph v2.6 性能报告

服务端耗时(ms)

NebulaGraph v2.6 性能报告

客户端耗时(ms)

NebulaGraph v2.6 性能报告

MATCH

MATCH (v:Person) WHERE v.firstName == '{}' RETURN v

NebulaGraph v2.6 性能报告

服务端耗时(ms)

NebulaGraph v2.6 性能报告

客户端耗时(ms)

NebulaGraph v2.6 性能报告

MATCH 一跳

MATCH (v1:Person)-[e:KNOWS]->(v2:Person) WHERE id(v1) == {} RETURN v2

吞吐率 NebulaGraph v2.6 性能报告

服务端耗时(ms)

NebulaGraph v2.6 性能报告

客户端耗时(ms)

NebulaGraph v2.6 性能报告

MATCH 两跳

MATCH (v1:Person)-[e:KNOWS*2]->(v2:Person) WHERE id(v1) == {} RETURN v2

吞吐率 NebulaGraph v2.6 性能报告

服务端耗时(ms)

NebulaGraph v2.6 性能报告

客户端耗时(ms)

NebulaGraph v2.6 性能报告

参数配置

Storage:

  • rocksdb_block_cache=81920
  • heartbeat_interval_secs=10
  • max_handlers_per_req=1

其他配置:

  • minloglevel=2
  • local_config=true

以上。

本文中如有任何错误或疏漏,欢迎去 GitHub:https://github.com/vesoft-inc/nebula issue 区向我们提 issue 或者前往官方论坛:https://discuss.nebula-graph.com.cn/建议反馈 分类下提建议 👏;交流图数据库技术?加入 Nebula 交流群请先填写下你的 Nebula 名片,Nebula 小助手会拉你进群~~