使用Neo4j在Google Compute Engine/Amazon EC2实例上的最佳实践

3
有一份非常好的指南可以优化Neo4j的Linux机器。但是该指南假定了物理硬盘的典型特征。我在Google CE和Amazon EC2上运行我的Neo4j实例。我找不到任何详细说明这些虚拟机的最佳设置的文档。我需要哪些资源才能获得最佳性能,例如内存(用于堆或扩展使用)和磁盘速度/ IOPS?我目前有几百万个节点和约1000万个关系(2 GB),数据大小随着导入而增加。

在EC2上,我曾经依赖SSD临时磁盘,然后定期备份到永久磁盘。在计算引擎上没有这样的东西,并且写入速度对我来说似乎不是很高,至少在普通磁盘大小下(因为速度随大小变化)。有没有办法在我的导入/索引操作中获得合理的性能?或者这些操作更多地与内存和计算能力有关?

欢迎阅读任何其他相关内容...


还有一个更详细的答案在 http://stackoverflow.com/questions/26751346/how-do-you-set-up-neo4j-to-work-with-google-compute-engine/26752772#26752772 上可用。 - Love Sharma
1个回答

5
尽可能使用本地磁盘,SSD优于其他类型的磁盘,在AWS上尝试预配操作。EBS不适合,它速度慢且抖动。不过对于计算引擎,你可能需要使用更多的RAM,并尝试将图形的较大部分加载到内存中。建议阅读此文:http://structr.org/blog/neo4j-performance-on-ext4,以了解有关Linux调度程序、写入屏障等内容。最好手动设置这些内存映射设置,并查看具有HPC缓存的企业版第二级缓存。还可以参考此网络研讨会:https://vimeo.com/46049647,了解硬件大小的信息。

这是一篇很棒的文章。如果我的内存足够大以容纳整个数据库,我是否需要调整内存映射设置以使Neo4j将数据保留在内存中? - retrography
回复自己:显然,如果有足够的内存可用,可以使用cache_type=strong。参考文献:http://docs.neo4j.org/chunked/milestone/configuration-caches.html - retrography

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接