Skip to content
Permalink
Browse files
hugegraph-1260 add hugegraph-0.5.6 api performance result and hugeloa…
…der performance

Change-Id: Icea3c4f37db72c37bd598dddcf95629f23fc7ce7
  • Loading branch information
zhoney committed May 7, 2018
1 parent e43fd2e commit d3acc6252fe7e97f4616017142178925fa473631
Show file tree
Hide file tree
Showing 17 changed files with 310 additions and 2 deletions.
@@ -37,8 +37,12 @@

## Performance
* [HugeGraph Benchmark Performance](performance/hugegraph-benchmark-0.5.6.md)
* [HugeGraph API Performance v0.4.4](performance/hugegraph-api-0.4.4.md)
* [HugeGraph API Performance v0.2](performance/hugegraph-api-0.2.md)
* [HugeGraph API Performance](performance/hugegraph-api-performance.md)
* [v0.5.6 Stand-alone(RocksDB)](performance/hugegraph-api-0.5.6-RocksDB.md)
* [v0.5.6 Cluster(Cassandra)](performance/hugegraph-api-0.5.6-Cassandra.md)
* [v0.4.4](performance/hugegraph-api-0.4.4.md)
* [v0.2](performance/hugegraph-api-0.2.md)
* [HugeGraph-Loader Performance](performance/hugegraph-loader-performance.md)

## ChangeLogs
* [Release-0.5.6](changelog/hugegraph-0.5.6-release-notes.md)
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@@ -0,0 +1,136 @@
### 1 测试环境

被压机器信息

机器IP | CPU | Memory | 网卡 | 磁盘
------------------------------- | -------------------------------------------- | ------ | --------- | ------------------
yq01-m02-kafka01.yq01.baidu.com | 48 Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz | 128G | 10000Mbps | 750GB SSD,2.7T HDD

- 起压力机器信息:yq01-m02-kafka02.yq01.baidu.com
- 测试工具:apache-Jmeter-2.5.1

注:起压机器和被压机器在同一机房

### 2 测试说明

#### 2.1 名词定义(时间的单位均为ms)

- Samples -- 本次场景中一共完成了多少个线程
- Average -- 平均响应时间
- Median -- 统计意义上面的响应时间的中值
- 90% Line -- 所有线程中90%的线程的响应时间都小于xx
- Min -- 最小响应时间
- Max -- 最大响应时间
- Error -- 出错率
- Throughput -- 吞吐量
- KB/sec -- 以流量做衡量的吞吐量

#### 2.2 底层存储

后端存储使用15节点Cassandra集群,HugeGraph与Cassandra集群位于不同的服务器,server相关的配置文件除主机和端口有修改外,其余均保持默认。

### 3 性能结果总结

1. HugeGraph单条插入顶点和边的速度分别为9000和4500
2. 顶点和边的批量插入速度分别为5w/s和15w/s,远大于单条插入速度
3. 按id查询顶点和边的并发度可达到12000以上,且请求的平均延时小于70ms

### 4 测试结果及分析

#### 4.1 batch插入

##### 4.1.1 压力上限测试

###### 测试方法

不断提升并发量,测试server仍能正常提供服务的压力上限

###### 压力参数

持续时间:5min

###### 顶点的最大插入速度:

<center>
<img src="/images/API-perf/v0.5.6/cassandra/vertex_batch.png" alt="image">
</center>

####### 结论:

- 并发3500,顶点的吞吐量是261,每秒可处理的数据:261*200=52200/s

###### 边的最大插入速度

<center>
<img src="/images/API-perf/v0.5.6/cassandra/edge_batch.png" alt="image">
</center>

####### 结论:

- 并发1000,边的吞吐量是323,每秒可处理的数据:323*500=161500/s

#### 4.2 single插入

##### 4.2.1 压力上限测试

###### 测试方法

不断提升并发量,测试server仍能正常提供服务的压力上限

###### 压力参数

- 持续时间:5min
- 服务异常标志:错误率大于0.00%

###### 顶点的单条插入

<center>
<img src="/images/API-perf/v0.5.6/cassandra/vertex_single.png" alt="image">
</center>

####### 结论:

- 并发9000,吞吐量为8400,顶点的单条插入并发能力为9000

###### 边的单条插入

<center>
<img src="/images/API-perf/v0.5.6/cassandra/edge_single.png" alt="image">
</center>

####### 结论:

- 并发4500,吞吐量是4160,边的单条插入并发能力为4500

#### 4.3 按id查询

##### 4.3.1 压力上限测试

###### 测试方法

不断提升并发量,测试server仍能正常提供服务的压力上限

###### 压力参数

- 持续时间:5min
- 服务异常标志:错误率大于0.00%

###### 顶点的按id查询

<center>
<img src="/images/API-perf/v0.5.6/cassandra/vertex_id_query.png" alt="image">
</center>

####### 结论:

- 并发14500,吞吐量是13576,顶点的按id查询的并发能力为14500,平均延时为11ms

###### 边的按id查询

<center>
<img src="/images/API-perf/v0.5.6/cassandra/edge_id_query.png" alt="image">
</center>

####### 结论:

- 并发12000,吞吐量是10688,边的按id查询的并发能力为12000,平均延时为63ms
@@ -0,0 +1,136 @@
### 1 测试环境

被压机器信息

机器 | CPU | Memory | 网卡 | 磁盘
--------------------------------- | -------------------------------------------- | ------ | --------- | ------------------
yq01-sw-scylladb01.yq01.baidu.com | 48 Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz | 128G | 10000Mbps | 750GB SSD,2.7T HDD

- 起压力机器信息:yq01-m02-kafka02.yq01.baidu.com
- 测试工具:apache-Jmeter-2.5.1

注:起压机器和被压机器在同一机房

### 2 测试说明

#### 2.1 名词定义(时间的单位均为ms)

- Samples -- 本次场景中一共完成了多少个线程
- Average -- 平均响应时间
- Median -- 统计意义上面的响应时间的中值
- 90% Line -- 所有线程中90%的线程的响应时间都小于xx
- Min -- 最小响应时间
- Max -- 最大响应时间
- Error -- 出错率
- Throughput -- 吞吐量
- KB/sec -- 以流量做衡量的吞吐量

#### 2.2 底层存储

后端存储使用RocksDB,HugeGraph与RocksDB都在同一机器上启动,server相关的配置文件除主机和端口有修改外,其余均保持默认。

### 3 性能结果总结

1. HugeGraph单条插入顶点和边的速度在每秒1w左右
2. 顶点和边的批量插入速度远大于单条插入速度
3. 按id查询顶点和边的并发度可达到13000以上,且请求的平均延时小于50ms

### 4 测试结果及分析

#### 4.1 batch插入

##### 4.1.1 压力上限测试

###### 测试方法

不断提升并发量,测试server仍能正常提供服务的压力上限

###### 压力参数

持续时间:5min

###### 顶点的最大插入速度:

<center>
<img src="/images/API-perf/v0.5.6/rocksdb/vertex_batch.png" alt="image">
</center>

####### 结论:

- 并发2200,顶点的吞吐量是2026.8,每秒可处理的数据:2026.8*200=405360/s

###### 边的最大插入速度

<center>
<img src="/images/API-perf/v0.5.6/rocksdb/edge_batch.png" alt="image">
</center>

####### 结论:

- 并发900,边的吞吐量是776.9,每秒可处理的数据:776.9*500=388450/s

#### 4.2 single插入

##### 4.2.1 压力上限测试

###### 测试方法

不断提升并发量,测试server仍能正常提供服务的压力上限

###### 压力参数

- 持续时间:5min
- 服务异常标志:错误率大于0.00%

###### 顶点的单条插入

<center>
<img src="/images/API-perf/v0.5.6/rocksdb/vertex_single.png" alt="image">
</center>

####### 结论:

- 并发11500,吞吐量为10730,顶点的单条插入并发能力为11500

###### 边的单条插入

<center>
<img src="/images/API-perf/v0.5.6/rocksdb/edge_single.png" alt="image">
</center>

####### 结论:

- 并发9000,吞吐量是8418,边的单条插入并发能力为9000

#### 4.3 按id查询

##### 4.3.1 压力上限测试

###### 测试方法

不断提升并发量,测试server仍能正常提供服务的压力上限

###### 压力参数

- 持续时间:5min
- 服务异常标志:错误率大于0.00%

###### 顶点的按id查询

<center>
<img src="/images/API-perf/v0.5.6/rocksdb/vertex_id_query.png" alt="image">
</center>

####### 结论:

- 并发14000,吞吐量是12663,顶点的按id查询的并发能力为14000,平均延时为44ms

###### 边的按id查询

<center>
<img src="/images/API-perf/v0.5.6/rocksdb/edge_id_query.png" alt="image">
</center>

####### 结论:

- 并发13000,吞吐量是12225,边的按id查询的并发能力为13000,平均延时为12ms
@@ -0,0 +1,16 @@
## HugeGraph API Performance

HugeGraph API性能测试主要测试HugeGraph Server对RESTful API请求的并发处理能力,包括:

- 顶点/边的单条插入
- 顶点/边的批量插入
- 顶点/边的查询

HugeGraph的每个发布版本的RESTful API的性能测试情况可以参考:

- [v0.5.6 stand-alone](hugegraph-api-0.5.6-RocksDB.md)
- [v0.5.6 cluster](hugegraph-api-0.5.6-Cassandra.md)
- [v0.4.4](hugegraph-api-0.4.4.md)
- [v0.2](hugegraph-api-0.2.md)

> 之前的版本只提供HugeGraph所支持的后端种类中性能最好的API性能测试,从0.5.6版本开始,分别提供了单机和集群的性能情况
@@ -0,0 +1,16 @@
## 使用场景

当要批量插入的图数据(包括顶点和边)条数为billion级别及以下,或者总数据量小于TB时,可以采用[HugeLoader](../quickstart/hugeloader.md)工具持续、高速导入图数据

## 性能

> 测试均采用网址数据的边数据
### RocksDB单机性能

- 关闭label index,22.8w edges/s
- 开启label index,15.3w edges/s

### Cassandra集群性能

- 默认开启label index,6.3w edges/s

0 comments on commit d3acc62

Please sign in to comment.