Neo4j:关于硬件大小和配置的建议

Neo4j:关于硬件大小和配置的建议,neo4j,Neo4j,我已经玩了几个月的neo4j 2.0 db,我计划在专用服务器上安装db。我已经尝试了neo4j的几种配置(jvm、缓存等),但我仍然不确定是否找到了最好的配置。 因此,最好问问专家:) 上下文 Db原语: 节点=224114478 关系=417681104 属性=224342951 Db文件: nodestore.db=3.064Gb relationshipstore.db=13.460Gb propertystore.db=8.982 Gb propertystore.db.string

我已经玩了几个月的neo4j 2.0 db,我计划在专用服务器上安装db。我已经尝试了neo4j的几种配置(jvm、缓存等),但我仍然不确定是否找到了最好的配置。 因此,最好问问专家:)

上下文 Db原语:

节点=224114478

关系=417681104

属性=224342951

Db文件:

  • nodestore.db=3.064Gb

  • relationshipstore.db=13.460Gb

  • propertystore.db=8.982 Gb

  • propertystore.db.string=5.998 Gb

  • propertystore.db.arrays=1kb

操作系统服务器:

Windows server 2012(64b)

Db用法:

大多数情况下,使用cypher查询进行图遍历

在我的开发人员笔记本电脑上,即使有些查询有巨大的延迟,性能也不会太差(我怀疑主要原因是缺少RAM导致的交换)

图形特性:

我怀疑一些节点可能是巨大的集线器(直到100万个关系),但它应该仍然是例外


您对以下方面有何建议:

  • 硬件尺寸

  • neo4j配置:

    • 堆大小

    • 使用内存映射缓冲区(是否有任何理由在windows中将该值保持为false?)

    • 缓存类型

    • windows的推荐jvm设置

提前谢谢


laurent

请查看以下两个性能调整和硬件大小计算指南:


图形的磁盘大小总计约为32 GB。Neo4j具有两层缓存体系结构。第一层是文件缓冲缓存。理想情况下,它应该具有与磁盘上图形相同的大小,因此在您的情况下大约为32GB

重要信息:在Windows上运行Neo4j时,文件缓冲区缓存是Java堆的一部分(由于Windows本身的脆弱性)。在Linux/Mac上,它是堆外的。这就是为什么我通常不推荐Windows上的Neo4j的生产环境

使用企业版和社区版时,
soft
的缓存类型应为
hpc

为了给第二个缓存层(对象缓存)提供合理的容量,我建议使用一台至少有64GB RAM的机器。因为文件缓冲区和对象缓存都在堆上,所以堆堆大,并考虑使用G1:<代码> -XMX60G-XX:+UEG1GC/<代码>。通过在
neo4j wrapper.conf
中取消GC日志记录的注释来观察GC行为,并逐步调整设置


请注意,Neo4j 2.2可能会附带一个不同的文件缓冲区缓存实现,在Windows上也可以在堆外工作。

欢迎使用堆栈溢出。试着澄清你的问题。你读了吗?这个问题似乎更适合。我不知道服务器故障站点,但你是对的,这个问题处于临界状态,可能更适合S.F。谢谢Stefan。我将测试G1的垃圾收集,并查看v2.2。我已经阅读了性能调整指南(多次)但我仍然不确定windows环境中的潜在特性。但你是对的,它们是关于这个主题的非常好的资源。