写入 neo4j 时如何提高性能。我目前在服务器上设置了 neo4j,并且我目前正在嵌入式运行它。我相信我的配置是根据我在网上找到的配置将我的图形数据库的所有内容存储在内存中
neostore.nodestore.db.mapped_memory=0
neostore.relationship.db.mapped_memory=0
neostore.propertystore.db.mapped_memory=0
neostore.propertystore.db.strings.mapped_memory=0
neostore.propertystore.db.arrays.mapped_memory=0
neostore.propertystore.db.index.keys.mapped_memory=0
neostore.propertystore.db.index.mapped_memory=0
node_auto_indexing=true
node_keys_indexable=type,id
cache_type=strong
use_memory_mapped_buffers=false
node_cache_size=12G
relationship_cache_size=12G
node_cache_array_fraction=10
relationship_cache_array_fraction=10
如果这不正确,请告诉我。我遇到的问题是,当我尝试将信息持久保存到图形数据库时。与我们的 MYSQL 时间相比,这些时间似乎不是很快(例如,添加 250 个项目大约需要 3 秒,而在 MYSQL 中需要 1 秒)。我在网上读到,当你有多个索引时,这会降低持久数据的性能,所以我现在正在研究这是否是我的罪魁祸首。但是,我只是想确保在内存中运行图形数据库时我的配置似乎是内联的。
这个话题的第二个问题。好的,如果我的配置很好并且我的数据库确实在内存中,那么有没有办法优化持久数据,以防万一这不是灵丹妙药。如果我们针对执行此功能的测试运行一个线程,而不是 10 个线程,那么执行时间似乎会增加(线程 1 完成 1 秒,线程 2 完成 2 秒,线程 3 完成 3 秒,等等)。是否有一些我缺少的特殊多线程配置来提高多线程同时击中它的性能。
Neo4J version
1.9.1-enterprise
My Jvm configs are
-Xms25G -Xmx25G -XX:+UseNUMA -XX:+UseSerialGC
My Machine Specs:
File system type ext3