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

标签 performance amazon-ec2 neo4j disk google-compute-engine

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

在 EC2 上,我曾经依赖 SSD 暂存盘,然后定期备份到永久磁盘。计算引擎上没有这样的东西,写入速度对我来说似乎不是很高,至少在正常磁盘大小下是这样(因为 speed changes with size )。有什么方法可以让我的导入/索引操作获得合理的性能?或者这些操作可能更多地与内存和计算能力有关?

欢迎阅读更多...

最佳答案

尽可能使用本地磁盘,SSD 优于其他磁盘,尝试在 AWS 上配置操作。

EBS 不太适合,它很慢而且不稳定。

虽然不知道计算引擎,但您可能想要使用更多 RAM 并尝试将更大的图形部分加载到内存中。

补充阅读:http://structr.org/blog/neo4j-performance-on-ext4

您仍然应该查看该博文中提到的其他内容。比如 Linux 调度器,write barrier 等。

最好手动设置这些内存映射设置。对于二级缓存,可以查看带有 hpc 缓存的企业版。

另请参阅此网络研讨会:https://vimeo.com/46049647关于硬件大小

关于performance - 在 Google Compute Engine/Amazon EC2 实例上使用 Neo4j 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22868094/

相关文章:

amazon-web-services - EC2 : Allowing multiple IPs for a security group rule

nosql - Neo4j(或其他一些图形数据库)可以处理关系之间的关系吗?

postgresql - Postgres 调整

mysql - 如何提高 mysql LOAD XML LOCAL INFILE 表导入的性能?

java - 如何降低 GC 期间弱引用的处理时间?

Java 并发 : lock effiency

amazon-web-services - 多个微型与一个大型 ec2 实例

amazon-ec2 - 如何在同一 EC2 实例上创建另一个 AMI

python - 无法在浏览器中使用 cypher 查询查看我使用 py2neo 创建的节点

node.js - Neo4J 单个查询中的多个匹配语句