简介

Nebula Bench 是一款利用 LDBC 数据集对 Nebula Graph 进行性能测试的工具。本文是通过Nebula Bench进行性能测试的实践总结。

版本
CentOS7.9
Nebula Graph

v3.2.0

主要功能

• 生产 LDBC 数据集并导入 nebula graph。

• 用 k6 进行压测。

1.克隆Nebula Bench仓库到本地并安装相关包

git clone https://github.com/vesoft-inc/nebula-bench.git 
cd nebula-bench
pip3 install --user -r requirements.txt
python3 run.py --help

2.搭建Golang环境

• 

• 将安装包解压到相应文件夹

tar -zxvf <go_package_name> -C <path>/golang

• 添加环境变量

#打开环境变量文件
vim /etc/profile 

添加如下命令

#GOROOT是Go的安装路径,GOPATH是工作路径,GOBIN是Go编译后生成的可执行文件。
GOROOT="<path>/golang/go"
GOPATH="<path>/goCode"
GOBIN="<path>/gobin"
export PATH=$PATH:$GOPATH/bin:$GOPATH:$GOBIN

3.编译相关工具

• 

编译后,二进制包在 scripts 文件夹中。

4.生成 LDBC 数据

5.将数据通过Nebula Importer导入Nebula Graph

6.使用K6进行测压

自动化的场景,在 nebula_bench/scenarios/ 中

7.测试结果

统计

动作

数据量

用时

向Importer中导入数据

20437762条语句

245.75s

查询种类

路径查询

一跳查询

二条查询

三跳查询

语句数量

30899条

316932条

49487条

3857条

每次执行耗时

Min

1.59ms

618.62μs

762.37μs

806μs

Max

1.02s

1.01s

1.76s

13.65s

Avg

194.69ms

18.91ms

120.79ms

1.57s

平均执行速度

503.47条/s

5183.87条/s

810.2条/s

61.92条/s

服务端耗时

Min

1738

295

430

524

Max

277524

37448

202485

1727720

Avg

23149.9

1054.16

7203.8

246801.15

客户端耗时

Min

32446

516

642

743

Max

547875

133677

1761805

13650878

Avg

194548.3

18369

115244

1554994.9

并发用户数

100

100

100

44