当前位置:网站首页>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 ~~
边栏推荐
- 解决** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the defau
- Experiment collection of University "Fundamentals of circuit analysis". Experiment 7 - Research on sinusoidal steady-state circuit
- 二叉树前,中,后序遍历
- 智联招聘的基于 Nebula Graph 的推荐实践分享
- 6090. Minimax games
- Comprehensively interpret the background and concept of service mesh
- Group by的用法
- Another graduation season
- Fastjson list to jsonarray and jsonarray to list "suggested collections"
- PostgresSQL 流复制 主备切换 主库无读写宕机场景
猜你喜欢
解决** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the defau
Tree binary search tree
win10系统升级一段时间后,内存占用过高
动态规划入门二(5.647.62)
《大学“电路分析基础”课程实验合集.实验七》丨正弦稳态电路的研究
Postgressql stream replication active / standby switchover primary database no read / write downtime scenario
Teach you how to build virtual machines locally and deploy microservices
基于 Nebula Graph 构建百亿关系知识图谱实践
Nebula Graph & 数仓血缘关系数据的存储与读写
【5G NR】RRC连接释放
随机推荐
华为云服务器安装mysqlb for mysqld.service failed because the control process exited with error code.See “sys
智联招聘的基于 Nebula Graph 的推荐实践分享
/Bin/ld: cannot find -lxslt
The task cannot be submitted after the installation of flick is completed
【5G NR】RRC连接释放
Another graduation season
数据库系统概论第一章简答题-期末考得怎么样?
/bin/ld: 找不到 -lssl
Invalid bound statement (not found)解决方法总结
Pyobject to char* (string)
解决BASE64Encoder报错的问题
C # get PLC information (kepserver) II
《大学“电路分析基础”课程实验合集.实验四》丨线性电路特性的研究
睿智的目标检测23——Pytorch搭建SSD目标检测平台
6091. Divide the array so that the maximum difference is K
【小白聊云】中小企业容器化改造建议
树-二叉搜索树
Song of cactus - throwing stones to ask the way (2)
Add an empty column to spark dataframe - add an empty column to spark dataframe
Review materials for the special topic of analog electronics with all essence: basic amplification circuit knowledge points