特性讲解
NebulaGraph v2.6.0 性能报告
本文目录
- 测试环境
- 测试数据
- Nebula Commit
- 测试用例和结果
- 查询不带点属性和边属性
- 查询带边属性信息
- 查询带目的点属性信息
- 查询带边属性+目的点属性
- LOOKUP
- MATCH
- MATCH 一跳
- MATCH 两跳
- 2.6.0 vs 2.5.0
- 查询不带点属性和边属性
- 查询带边属性信息
- 查询带目的点属性信息
- 查询带边属性+目的点属性
- LOOKUP
- MATCH
- MATCH 一跳
- MATCH 两跳
- 参数配置
测试环境
服务器和压测机皆为物理机:
- 注意:服务器设置 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
一跳·吞吐率
一跳·服务端耗时(ms)
一跳·客户端耗时(ms)
两跳·吞吐率
两跳·服务端耗时(ms)
两跳·客户端耗时(ms)
三跳·吞吐率
三跳·服务端耗时(ms)
三跳·客户端耗时(ms)
查询带属性/边信息
GO {} STEP FROM {} OVER KNOWS yield KNOWS.creationDate
一跳·吞吐率
一跳·服务端耗时(ms)
一跳·客户端耗时(ms)
两跳·吞吐率
两跳·服务端耗时(ms)
两跳·客户端耗时(ms)
三跳·吞吐率
三跳·服务端耗时(ms)
三跳·客户端耗时(ms)
查询带目的点属性信息
GO {} STEP FROM {} OVER KNOWS yield $$.Person.firstName
一跳·吞吐率
一跳·服务端耗时(ms)
一跳·客户端耗时(ms)
两跳·吞吐率
两跳·服务端耗时(ms)
两跳·客户端耗时(ms)
三跳·吞吐率
三跳·服务端耗时(ms)
三跳·客户端耗时(ms)
查询带边属性+目的点属性
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
一跳·吞吐率
一跳·服务端耗时(ms)
一跳·客户端耗时(ms)
两跳·吞吐率
两跳·服务端耗时(ms)
两跳·客户端耗时(ms)
三跳·吞吐率
三跳·服务端耗时(ms)
三跳·客户端耗时(ms)
LOOKUP
LOOKUP ON Person WHERE Person.firstName == '{}' YIELD Person.firstName, Person.lastName, Person.gender, Person.birthday, Person.creationDate, Person.locationIP, Person.browserUsed
吞吐率
服务端耗时(ms)
客户端耗时(ms)
MATCH
MATCH (v:Person) WHERE v.firstName == '{}' RETURN v
服务端耗时(ms)
客户端耗时(ms)
MATCH 一跳
MATCH (v1:Person)-[e:KNOWS]->(v2:Person) WHERE id(v1) == {} RETURN v2
吞吐率
服务端耗时(ms)
客户端耗时(ms)
MATCH 两跳
MATCH (v1:Person)-[e:KNOWS*2]->(v2:Person) WHERE id(v1) == {} RETURN v2
吞吐率
服务端耗时(ms)
客户端耗时(ms)
2.6.0 vs 2.5.0
以下数据选取平均值。
查询不带属性/边信息
GO {} STEP FROM {} OVER KNOWS
一跳·吞吐率
一跳·服务端耗时(ms)
一跳·客户端耗时(ms)
两跳·吞吐率
两跳·服务端耗时(ms)
两跳·客户端耗时(ms)
三跳·吞吐率
三跳·服务端耗时(ms)
三跳·客户端耗时(ms)
查询不带属性/边信息
GO {} STEP FROM {} OVER KNOWS yield KNOWS.creationDate
一跳·吞吐率
一跳·服务端耗时(ms)
一跳·客户端耗时(ms)
两跳·吞吐率
两跳·服务端耗时(ms)
两跳·客户端耗时(ms)
三跳·吞吐率
三跳·服务端耗时(ms)
三跳·客户端耗时(ms)
查询带目的点属性信息
GO {} STEP FROM {} OVER KNOWS yield $$.Person.firstName
一跳·吞吐率
一跳·服务端耗时(ms)
一跳·客户端耗时(ms)
两跳·吞吐率
两跳·服务端耗时(ms)
两跳·客户端耗时(ms)
三跳·吞吐率
三跳·服务端耗时(ms)
三跳·客户端耗时(ms)
查询带边属性+目的点属性
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
一跳·吞吐率
一跳·服务端耗时(ms)
一跳·客户端耗时(ms)
两跳·吞吐率
两跳·服务端耗时(ms)
两跳·客户端耗时(ms)
三跳·吞吐率
三跳·服务端耗时(ms)
三跳·客户端耗时(ms)
LOOKUP
LOOKUP ON Person WHERE Person.firstName == '{}' YIELD Person.firstName, Person.lastName, Person.gender, Person.birthday, Person.creationDate, Person.locationIP, Person.browserUsed
吞吐率
服务端耗时(ms)
客户端耗时(ms)
MATCH
MATCH (v:Person) WHERE v.firstName == '{}' RETURN v
服务端耗时(ms)
客户端耗时(ms)
MATCH 一跳
MATCH (v1:Person)-[e:KNOWS]->(v2:Person) WHERE id(v1) == {} RETURN v2
吞吐率
服务端耗时(ms)
客户端耗时(ms)
MATCH 两跳
MATCH (v1:Person)-[e:KNOWS*2]->(v2:Person) WHERE id(v1) == {} RETURN v2
吞吐率
服务端耗时(ms)
客户端耗时(ms)
参数配置
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 小助手会拉你进群~~