Amazon ec2 为neo4j选择linux文件系统的建议

Amazon ec2 为neo4j选择linux文件系统的建议,amazon-ec2,neo4j,Amazon Ec2,Neo4j,我正在寻找关于选择和配置Linux文件系统以存储neo4j数据库的建议。 当然,人们应该总是使用自己的工作负载进行测试,但一般来说,对于哪个文件系统性能最好,有什么建议吗 基于此页面,如果我正确理解neo的写入模式,xfs将是首选 我还阅读了手册中的两个Linux特定页面,但这两个页面似乎都没有为选择文件系统提供指导 docs.neo4j.org/chunked/stable/configuration-linux-notes.html docs.neo4j.org/chunked/stabl

我正在寻找关于选择和配置Linux文件系统以存储neo4j数据库的建议。 当然,人们应该总是使用自己的工作负载进行测试,但一般来说,对于哪个文件系统性能最好,有什么建议吗

基于此页面,如果我正确理解neo的写入模式,xfs将是首选

我还阅读了手册中的两个Linux特定页面,但这两个页面似乎都没有为选择文件系统提供指导

  • docs.neo4j.org/chunked/stable/configuration-linux-notes.html
  • docs.neo4j.org/chunked/stable/linux-performance-guide.html
如果HDD和SSD在选择文件系统方面存在差异,请提及您对两者的看法。 如果对EC2/EBS有特殊的考虑,我也想知道,因为这是我目前正在运行的地方

如果重要的话,下面是关于我计划容纳的图表类型和工作负载的信息: *产品目录样式图,有100万个节点,具有大小属性和数十亿个关系。 *主要用途-遍历100-500K节点子集以回答查询(期望的亚秒响应) *通过批量上传定期更新100-500K节点(20-30分钟就可以了)


非常感谢

如果您的应用程序主要是读驱动的,那么选择正确的文件系统就不会太麻烦了。您应该重点选择适合文件存储的MMIO缓存。如果缓存已预热,则读取操作将不会访问IO子系统

然而,当涉及到写操作时,SSD的工作方式通常比HDD的性能要好得多。Ext4似乎是Neo4j使用最广泛的文件系统。在EC2上,您可能会受益于使用SSD支持的实例,但这取决于您的写入操作数量


一般来说,最佳做法是生成一个与所考虑的生产系统大小大致相同的graph db,并事先运行检查。过早优化通常是一件愚蠢的事情。

我不确定Neo4j的具体细节,但MongoDB在XFS上工作得更好。Ext3/4无法正确分配稀疏文件(XFS上为30秒,XFS上为0.1秒),也无法快速删除许多文件


也就是说,关于基准点的建议是好的。在BTRFS做好生产准备之前,我不会担心除ext4和XFS之外的任何其他文件系统。

有时一般建议并不适用于所有工作负载。您可以做的最好的事情是设置一个实例并自己测试结果,直到找到一个提供所需性能的选项。其他需要注意的是整个数据集有多大,以及可以使用多少内存缓存。谢谢,Datasage。我得到所有这些,并计划做测试。但是有很多可能的组合,我相信我不是第一个经历这种情况的人。也许一些一般性的指导可以帮助我和其他人?对于将Neo4j与btrfs一起使用,应该将nodatacow选项添加到de datastore目录中,否则它很快就会失败。我在SSD上试过,这个命令将No_COW添加到btrfs.chattr+C/var/lib/neo4j/data中的数据存储目录中