我已经创建了一个基于Neo4J的高级客户端(https://github.com/impetus-opensource/Kundera/tree/trunk/kundera-neo4j)的基本实现,并希望将其性能与原生neo4j驱动程序(可能也包括SpringData )进行比较。这样,我就能够确定我的库在本机驱动程序上的开销。
我计划为Neo4J创建一个YCSB的扩展。
我的问题是:应该将什么作为写入neo4j的对象的基本单元(应该是由边连接的单个节点还是几个节点)。Neo4J世界目前的实践是什么?人们是如何对neo4j性能进行基准测试的。
发布于 2013-03-03 01:51:37
已经有一些使用Gatling对Neo4J进行基准测试的工作:http://maxdemarzi.com/2013/02/14/neo4j-and-gatling-sitting-in-a-tree-performance-t-e-s-t-ing/
你也许可以改编一下。
发布于 2015-03-09 22:26:34
graphdb- benchmark项目是流行的图形数据库之间的基准测试。目前该框架支持Titan、OrientDB、Neo4j和Sparksee。此基准测试的目的是检查每个图形数据库在执行时间方面的性能。该基准由集群、海量插入、单次插入和查询四种工作负载组成。每个工作负载都被设计为模拟图形数据库系统中的常见操作。
集群工作负载( CW ):Louvain由一种用于模块化优化的著名社区检测算法组成,即方法。我们在经过基准测试的图形数据库上调整算法,并使用缓存技术来利用图形数据库的功能和内存中的执行速度。我们测量算法收敛所需的时间。
海量插入工作负载(MIW):创建图形数据库并将其配置为海量加载,然后我们使用特定的数据集填充它。我们测量创建整个图的时间。
单次插入工作负载(Single Insertion Workload,SIW):创建图形数据库,并使用特定的数据集加载它。每个对象插入(节点或边)都是直接提交的,图是以增量方式构建的。我们测量每个块的插入时间,它由1000条边和在插入这些边期间出现的节点组成。
查询工作负载(QW):执行三个常见查询: FindNeighbours (FN):查找所有节点的邻居。FindAdjacentNodes (FA):查找所有边的相邻节点。FindShortestPath (FS):查找第一个节点和100个随机拾取节点之间的最短路径。
发布于 2013-03-01 20:20:03
性能测试的一种方法是使用http://gatling-tool.org/。http://ldbc.eu正在进行创建基准测试框架的工作。否则,基准测试高度依赖于您的域数据集和您尝试执行的查询。也许你可以从https://github.com/neo4j/performance-benchmark开始并改进它?
https://stackoverflow.com/questions/15151934
复制相似问题