Nebula测试

LDBC benchmark

这是官方文档
https://ldbcouncil.org/ldbc_snb_docs/ldbc-snb-specification.pdf
主要有几点

  1. Scale Factors
    是生成数据的一个大小,For both workloads, the SF1 data set is 1 GiB, the SF100 is 100 GiB, and the SF10 000 data set is 10 000 GiB (not 10 TiB).
    下面是可用的参数
    在这里插入图片描述
    数据集的组成,分为静态和动态的数据,因为有一些数据需要在数据库启动以后执行插入操作添加数据(dynamic),大部分是一开始批导入(static)
    在这里插入图片描述

  2. two SNB workloads
    可以生成两种工作负载,一个是Interactive,另一个是BI(商业智能)。相同的Scale Factors生成的数据集数据完全相同,只是表示不同。(It is important to note that for a given workload and scale factor, data sets generated using different serializers contain exactly the same data, the only difference is in how they are represented)

Nebula -bench

NebulaGraph Bench 用于测试 NebulaGraph 的基线性能数据,使用 LDBC v0.3.3 的标准数据集。

主要功能:

  • 生产 LDBC 数据集并导入 NebulaGraph。
  • 用 k6 进行压测。

参考github官方说明

1. 安装一些库

ubuntu执行下面(centos看前面github链接)

sudo apt-get install -y \
     git \
     wget \
     python3-pip \
     python \
     openjdk-8-jdk \
     maven 

export JAVA_HOME=/usr/lib/jvm/default-java/

2. 安装go

go官方安装教程
注意 环境配置

export PATH=$PATH:/usr/local/go/bin

这个每次bush关掉都要重新执行,下面可以每次开机自动配置

echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bashrc

tail -3 ~/.bashrc    //查看是否修改,其实就是查看~/.bashrc的最后三行
source ~/.bashrc    //重新加载

最后通过go version 查看是否安装成功

3. 下载编译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

4. 编译安装两个工具

在这里插入图片描述
nebula-importer:是将LDBC数据导入到nebula的
xk6-nebula:是后面压测的工具

可以自己分别安装,在github链接安装即可,但是Nebula-bench里面有安装的脚本


cd nebula-bench    //进入刚才下载的nebula-bench
/bin/bash scripts/setup.sh    //执行脚本自动安装nebula-importer和xk6-nebula,如果你的网很慢可能会失败,那可以自己安装这两个工具

如果 go get 的包下载不下来,需要设置 golang 代理。

export GOPROXY=https://goproxy.cn

5.生成数据

生成的是sf10的数据,就是10Gib的数据

# generate sf10 ldbc data
python3 run.py data  -s 10

6.导入数据

python3 run.py nebula importer

上面这个语句会做两件事。
一是会根据 header 文件,自动生成 importer 的配置文件。
二是运行 importer 导入数据

所以会看到命令运行结束后会生成一个importer_config.yaml 的文件和数据
下面是生成的数据
在这里插入图片描述
但是导入数据可能失败,因为nebula-bench本来生成的yaml配置文件是适合三个nebula-storaged的,即三台服务器的,但是我只有一台
在这里插入图片描述
所以要把这个地方改为1,就可以导入数据了
也可以看一下这个链接https://discuss.nebula-graph.com.cn/t/topic/12210

7. 压测

使用带有 xk6-nebula 插件的 K6 来进行压测。

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

# run all scenarios with 10 virtual users, every scenario lasts 3 seconds.
python3 run.py stress run --args='-u 10 -d 3s'

注意

  1. 结合https://github.com/dutor/nebula-bench/blob/master/README_cn.md这恶鬼去看
  2. 有问题可以在评论问我,一起讨论
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值