当前位置:网站首页>Figure database | Nepal graph v3.1.0 performance report
Figure database | Nepal graph v3.1.0 performance report
2022-07-02 15:56:00 【Figure database nebulagraph】
This article was first published in Nebula Graph Community official account

Department of literature Nebula Graph Distribution version v3.1.0 Performance test report of .
Contents of this article
- Test environment
- Test data
- About LDBC-SNB
- Test instructions
- Test cases and results
- MatchTest1
- MatchTest2
- MatchTest3
- MatchTest4
- MatchTest5
- 3.1.0 vs 3.0.0(Baseline)
- MatchTest1
- MatchTest2
- MatchTest3
- MatchTest4
- MatchTest5
Test conclusion
stay v3.1.0 In the version , Query and data import performance is basically the same as v3.0.0 flat ( Reference resources :v3.0.0 Performance report ).MATCH Statement is optimized for attribute reading , Corresponding use cases are added in this test , Performance comparison v3.0.0 A big increase .
Test environment
Both the server and the pressure measuring machine are physical machines

- Be careful : server setting CPU by Performance Pattern .
Test data
The test data are LDBC-SNB SF100 Data sets ,SF100 The data set size is 100G, share 282,386,021 A point and 1,775,513,185 side . The number of graph space partitions used for the test is 24, Replications for 3.
About LDBC-SNB
Associated data benchmarking Committee (LDBC,Linked Data Benchmark Council), The picture is (Graph) and RDF Benchmark guide setters for data management . Social networking benchmark (SNB,Social Network Benchmark) It's the association data benchmark Committee (LDBC) Developed software benchmark (Benchmark) One of . About LDBC-SNB Data sets , Please refer to the following documents for details :
- LDBC_SNB_SF100:https://ldbcouncil.org/ldbc_snb_docs/ldbc-snb-specification.pdf
- 24 Partitions:https://github.com/ldbc/ldbc_snb_docs
- 3 Replica Factors:https://github.com/ldbc/ldbc_snb_datagen_spark
Test instructions
- The use of pressure measuring tools is based on Go Linguistic k6, Please refer to k6 Official website ; The client uses nebula-go
- Of the abscissa axis in the chart “50_vu”、“100_vu” Isochronous “vu” It means k6 Concepts used “virtual user”, That is, the number of concurrency in the performance test ;50_vu Express 50 Concurrent users ,100_vu Express 100 Concurrent users , And so on …
- The performance baseline uses the officially released 3.0.0 edition
ResponseTime=Latency( The processing time of the server )+ The length of time for the network to return the result + The time taken for the client to deserialize the result- Parameter description
- QPS namely Throughput rate
- Latency namely The server takes time
- ResponseTime namely Client time consuming
Test cases and results
Only the newly added match The test case
- QPS namely Throughput rate
- Latency namely The server takes time
- ResponseTime namely Client time consuming
MatchTest1
match (v:Person) where id(v) == {} return count(v.Person.firstName)



MatchTest2
match (v:Person)-[e:KNOWS]-(v2) where id(v) == {} and v2.Person.locationIP != 'yyy' return length(v.Person.browserUsed) + length(v2.Person.gender)



MatchTest3
match (v:Person)-[e:KNOWS]-(v2) where id(v) == {} and v2.Person.locationIP != 'yyy' with v, v2 as v3 return length(v.Person.browserUsed) + (v3.Person.gender)



MatchTest4
MATCH (m)-[:KNOWS]-(n) WHERE id(m)=={} OPTIONAL MATCH (n)<-[:KNOWS]-(l) RETURN length(m.Person.lastName) AS n1, length(n.Person.lastName) AS n2, l.Person.creationDate AS n3 ORDER BY n1, n2, n3 LIMIT 10



MatchTest5
MATCH (m)-[:KNOWS]-(n) WHERE id(m)=={} MATCH (n)-[:KNOWS]-(l) WITH m AS x, n AS y, l RETURN x.Person.firstName AS n1, y.Person.firstName AS n2, CASE WHEN l.Person.firstName is not null THEN l.Person.firstName WHEN l.Person.gender is not null THEN l.Person.birthday ELSE 'null' END AS n3 ORDER BY n1, n2, n3 LIMIT 10



v3.1.0 vs v3.0.0(Baseline)
Select the following data P99 value .
MatchTest1
match (v:Person) where id(v) == {} return count(v.Person.firstName)



MatchTest2
match (v:Person)-[e:KNOWS]-(v2) where id(v) == {} and v2.Person.locationIP != 'yyy' return length(v.Person.browserUsed) + length(v2.Person.gender)



MatchTest3
match (v:Person)-[e:KNOWS]-(v2) where id(v) == {} and v2.Person.locationIP != 'yyy' with v, v2 as v3 return length(v.Person.browserUsed) + (v3.Person.gender)



MatchTest4
MATCH (m)-[:KNOWS]-(n) WHERE id(m)=={} OPTIONAL MATCH (n)<-[:KNOWS]-(l) RETURN length(m.Person.lastName) AS n1, length(n.Person.lastName) AS n2, l.Person.creationDate AS n3 ORDER BY n1, n2, n3 LIMIT 10



MatchTest5
MATCH (m)-[:KNOWS]-(n) WHERE id(m)=={} MATCH (n)-[:KNOWS]-(l) WITH m AS x, n AS y, l RETURN x.Person.firstName AS n1, y.Person.firstName AS n2, CASE WHEN l.Person.firstName is not null THEN l.Person.firstName WHEN l.Person.gender is not null THEN l.Person.birthday ELSE 'null' END AS n3 ORDER BY n1, n2, n3 LIMIT 10



above , Welcome to GitHub Experience v3.1.0 edition ,GitHub Address :https://github.com/vesoft-inc/nebula/releases/tag/v3.1.0
Communication graph database technology ? Join in Nebula Communication group please first Fill in your Nebula Business card ,Nebula The little assistant will pull you into the group ~~
边栏推荐
猜你喜欢

Why does the system convert the temp environment variable to a short file name?

HMS core machine learning service helps zaful users to shop conveniently

How to import a billion level offline CSV into Nepal graph

手机app通达信添加自定义公式(分时T+0)为例子讲解

又是一年毕业季

Comparison between rstan Bayesian regression model and standard linear regression model of R language MCMC

The sea of stars hidden behind the nebula graph

《大学“电路分析基础”课程实验合集.实验七》丨正弦稳态电路的研究

GraphX 图计算实践之模式匹配抽取特定子图

Introduction to Dynamic Planning II (5.647.62)
随机推荐
C # get PLC information (kepserver) II
6095. Strong password checker II
Comment réaliser un graphique Nebula d'importation CSV hors ligne de niveau milliard
制作p12证书[通俗易懂]
Postgressql stream replication active / standby switchover primary database no read / write downtime scenario
数据湖(十一):Iceberg表数据组织与查询
HMS core machine learning service helps zaful users to shop conveniently
Comprehensively interpret the background and concept of service mesh
Processing gzip: stdin: not in gzip format: child returned status 1tar: error is not recoverable: exitin
2020.4.12 byte written test questions B DP D monotone stack
Introduction to Dynamic Planning II (5.647.62)
Experiment collection of University "Fundamentals of circuit analysis". Experiment 6 - observation and measurement of typical signals
PostgresSQL 流复制 主备切换 主库无读写宕机场景
The task cannot be submitted after the installation of flick is completed
仙人掌之歌——投石问路(3)
基于 Nebula Graph 构建百亿关系知识图谱实践
locate: 无法执行 stat () `/var/lib/mlocate/mlocate.db‘: 没有那个文件或目录
/bin/ld: 找不到 -llz4
/bin/ld: 找不到 -lgssapi_krb5
6096. Success logarithm of spells and potions