Memory Neo4J内存调谐几乎没有效果

Memory Neo4J内存调谐几乎没有效果,memory,configuration,neo4j,cypher,Memory,Configuration,Neo4j,Cypher,我目前正在一个大数据集(>10G)上运行一些简单的密码查询(count等),在调优NE04J时遇到了一些问题 运行查询的机器有4TB的ram,160个内核,运行的是Ubuntu14.04/neo4j版本2.3。最初,我将所有设置保留为默认设置,因为它声明将根据需要动态分配空闲内存。然而,由于查询需要几分钟才能完成,我认为情况并非如此。因此,我在neo4j-wrapper.conf中设置了以下参数的各种组合: wrapper.java.initmemory=1200000 wrapper.jav

我目前正在一个大数据集(>10G)上运行一些简单的密码查询(count等),在调优NE04J时遇到了一些问题

运行查询的机器有4TB的ram,160个内核,运行的是Ubuntu14.04/neo4j版本2.3。最初,我将所有设置保留为默认设置,因为它声明将根据需要动态分配空闲内存。然而,由于查询需要几分钟才能完成,我认为情况并非如此。因此,我在neo4j-wrapper.conf中设置了以下参数的各种组合:

wrapper.java.initmemory=1200000 
wrapper.java.maxmemory=1200000
dbms.memory.heap.initial_size=1200000
dbms.memory.heap.max_size=1200000
dbms.jvm.additional=-XX:NewRatio=1
以及neo4j.properties中的以下内容:

use_memory_mapped_buffers=true
neostore.nodestore.db.mapped_memory=50G
neostore.relationshipstore.db.mapped_memory=50G
neostore.propertystore.db.mapped_memory=50G
neostore.propertystore.db.strings.mapped_memory=50G
neostore.propertystore.db.arrays.mapped_memory=1G
遵循我能找到的关于这个主题的每一篇指南/文章,但我似乎已经用尽了可用的材料,但收效甚微

我使用以下命令通过shell运行查询
neo4j shell-c<“querys/$1.cypher”
,但也尝试使用
-config$neo4j_HOME/conf/neo4j wrapper.conf
(每次进行更改时重新启动服务器)


我想我错过了一些导致这个问题的愚蠢的东西,因为有很多报告说neo4j可以很好地处理这种大小的数据,但无法想象它可能是什么。因此,任何帮助都将不胜感激

在neo4j浏览器中键入:SCHEMA以显示是否有索引

分享你的几个问题


在neo4j.properties文件中,需要将dbms.pagecache.memory设置设置为数据库文件大小的1.5倍左右。在您的示例中,您可以将其设置为15g

除了没有足够的内存使查询变慢之外,还有许多其他原因:缺少索引、命中太多节点等。您是否尝试在查询中使用过?服务器当前正在重新启动,完成后我会试一试并报告结果。我们可以知道被接受的答案是如何解决你的问题的吗?是页面缓存帮助了你,还是你找到了其他的东西?页面缓存似乎和添加索引一样产生了微小的影响。然而,真正的改进似乎来自于对JVM、垃圾收集和调度程序的操作。如果您感兴趣,我可以将您链接到所做更改的完整描述?