# eZoo-Bench
# 简介
eZoo-Bench项目,旨在以一站式操作搭建eZoo图计算平台的运行环境,基于附带的多个测试数据集,使用者可以通过eZoo-SDK测试图数据库的数据导入、服务启动、标准图数据查询等功能的性能指标。
eZoo提供多种语言的SDK,便于您对数据库进行访问,本项目中均使用Python语言的SDK进行测试,如您有其他需求还可联系我们。
此文档包含eZoo-Bench项目的资源介绍、文档链接、性能对比结果与设备推荐,我们将持续更新项目与文档,并定期同步其他不同图数据库的性能指标进行对照,附有详细的执行步骤供使用者参考。
如果您有任何新的需求与疑问,欢迎联系我们。
# 资源简介
eZoo-Bench项目主要包括eZoo图计算平台的完整资源,测试数据集,性能测试数据集,用户可使用此资源包完成eZoo图计算平台的安装,搭建与查询。
具体内容如下
# ./resource
eZoo产品的镜像安装资源及所需的全部脚本文件。
# ./conf
eZoo-Bench服务启动的配置文件,用于定义服务的端口与数据的存放路径。
# ./dataset
附带的测试数据集,包含标准测试数据集,及Demo工程所需的定制数据集。
# ./doc
eZoo-Bench项目的相关文档。
# 搭建介绍
- 环境准备
- OS: CentOS 7+、Ubuntu 16+
- docker: docker-ce 20+
- docker-compose: 1.20+(可选,用于管理整体项目的部署)
- python 3.7+
为保证各个流程的正常运行,运行前请确保不要修改各个文件夹中的文件。
- 搭建eZooDB测试环境并安装SDK
在确认相关环境与资源版本符合需求后,使用以下语句,运行启动脚本。
$ python3 ./set_up.py
运行完成后,就完成了eZooDB测试环境的安装,并安装了Python语言的SDK。
如您在此步骤遇到任何问题,可参考安装与部署。
- 导入数据
安装完成后,可使用以下语句运行脚本,完成Graph500数据的导入。
$ python3 ./load_data.py
导入时间将打印在命令行中。
- 查询测试
完成数据导入后,可使用以下语句运行脚本,进行邻居,路径的查询。
$ python3 ./test.py
查询的时间将打印在命令行中。
- 其他测试需求
完成上述步骤后,您就完成了一次简单的eZooDB的查询性能测试。如果您有其他的测试需求,在测试脚本中,我们提供了部分测试样例,您可以对测试样例进行修改,之后运行测试脚本进行定制化的测试。
更多接口与查询方式请参考eZoo-API
# 查询性能对比
以下对比测试环境为ubuntu 21,64G内存,12核CPU。
测试集为Graph500。
完整报告请参考eZoo性能测评报告
# 查询邻居数量
此查询返回查询节点的1到k或k到k阶邻居的数量,节点不重复计算。
| One-hop(s) | Two-hop(s) | Four-hop(s) | Six-hop(s) | Ten-hop(s) | |
|---|---|---|---|---|---|
| ezoodb | 0.0004 | 0.011 | 0.044 | 0.051 | 0.066 |
| Neo4j | 0.6201 | 1.336 | Time0ut | Time0ut | Time0ut |
| tigergraph | 0.001 | 0.015 | 0.325 | 0.705 | 1.51 |
# 查询邻居带路径
此查询返回查询节点的1到k或k到k阶邻居的可达全路径,节点不重复出现。
| One-hop(s) | Two-hop(s) | Four-hop(s) | Six-hop(s) | Ten-hop(s) | |
|---|---|---|---|---|---|
| ezoodb | 0.0201 | 0.452 | 16.374 | 17.294 | 17.882 |
| Neo4j | 0.624s | 0.567s | Time0ut | Time0ut | Time0ut |
| tigergraph | 0.03s | 9.886s | 646.8s | Time0ut | Time0ut |
# 查询AB路径
次查询返回查询两节点间小于k阶的全路径。
| One-hop(s) | Two-hop(s) | There-hop(s) | Four-hop(s) | |
|---|---|---|---|---|
| ezoodb | 0.00014 | 0.0008 | 0.0617 | 0.6776 |
| Neo4j | 0.519 | 0.77 | 3.569 | Time0ut |
| tigergraph | 0.003 | 0.039 | 0.582 | 40.732 |
# 测试环境推荐参数
不同的硬件条件将影响eZoo图计算平台人可容纳的点边数量。下方表格为日常商务场景需求的推荐运行环境。完整参数可参考eZoo运行内存评估
| 点数/亿 | 边数/亿 | 最低内存 | 推荐内存 |
|---|---|---|---|
| 0.1 | 0.5 | 2GB | 4GB |
| 0.5 | 1 | 7GB | 8GB |
| 0.5 | 3 | 12GB | 16GB |
| 1 | 5 | 21GB | 32GB |
| 3 | 10 | 50GB | 64GB |
| 5 | 20 | 100GB | 128GB |