Neo4j匹配/检索查询花费了太多时间25秒

Som*_*luk 8 performance configuration neo4j cypher

我的系统是8核和16 GB RAM.但仍在遍历:用户节点需要大约25秒的时间.

我在neo4j-wrapper.conf中设置了2个属性:

wrapper.java.initmemory = 6144
wrapper.java.maxmemory = 12288
Run Code Online (Sandbox Code Playgroud)
  • :用户返回字段15-20;
  • 2-3个索引(created_at有索引)
  • 在created_at DESC上完成排序
  • 总共有500万个节点,数据库大小接近8GB
  • :用户节点为400万.
  • 分页完成.每页提取10条记录.
  • 没有ORDER By它会在0.3秒内得出结果.
MATCH (u:User)
RETURN id(u) as id, u.username, u.email, (..15 More fields..), u.created_at as created_at
ORDER BY created_at desc 
SKIP 0 LIMIT 10
Run Code Online (Sandbox Code Playgroud)

如何减少Neo4j服务器的响应时间?可以设置什么neo4j.properties来减少执行时间?

ada*_*dam 2

我很幸运,将 init 内存和 max 内存设置为相同的值(因此 jvm 不必进行任何大小调整)并设置垃圾收集。在您的conf文件中尝试一下这些值:

-Xmx4g #max
-Xms4g #init
-XX:+UseConcMarkSweepG #garbage collector
Run Code Online (Sandbox Code Playgroud)