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 秒かかります)。オンラインで複数のインデックスがある場合、データの永続化のパフォーマンスが低下する可能性があることを読んだので、それが私の原因であるかどうかを確認するために現在取り組んでいます。ただし、グラフ データベースをメモリ内で実行する場合に、構成がインラインであるように見えるようにしたかっただけです。
このトピックの 2 番目の質問です。さて、構成が適切で、データベースが実際にメモリ内にある場合、これが特効薬ではない場合に備えて、永続化されたデータを最適化する方法はありますか。この機能を実行するテストに対して 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