neo4j相同查询语句一次查询特慢再次查询比较快。

现象:

neo4j相同查询语句一次查询特慢再次查询比较快。

分析:

查询语句

bash 复制代码
//查询同名方法
  match(path:Method)
where id(path) in [244333030] and NOT path:Constructor

//是rpc的方法
 match(rpc_method:Method)<-[:DECLARES]-(rpc_method_cls:Class)
-[:ANNOTATED_BY]->(anno:Annotation)
-[:OF_TYPE]->(annoType:Type{fqn:'com.yueyue.wukong.rpc.annotation.RpcProvider'})
 where rpc_method.signature = path.signature


return * limit 10

profile查看真实的执行过程。explain 可以查看预估的计划任务

bash 复制代码
profile match(path:Method)
where id(path) in [244333030] and NOT path:Constructor

//是rpc的方法
 match(rpc_method:Method)<-[:DECLARES]-(rpc_method_cls:Class)
-[:ANNOTATED_BY]->(anno:Annotation)
-[:OF_TYPE]->(annoType:Type{fqn:'com.yueyue.wukong.rpc.annotation.RpcProvider'})
 where rpc_method.signature = path.signature


return * limit 10

过滤行数最多才16行,理论不应该慢。

升级配置,修改neo4j内存配置

分析服务器监控, cpu 磁盘压力比较高。

尝试升级服务器配置到64G

修改neo4j 内存配置

dbms.memory.heap.initial_size=2G

dbms.memory.heap.max_size=10G

dbms.memory.pagecache.size=30g 原来是2G

最终解决问题。

neo4j 内存大小评估方法参考文档:

https://neo4j.com/developer/kb/how-to-estimate-initial-memory-configuration/

相关推荐
喜欢打篮球的普通人2 天前
MLIR快速入门
neo4j·mlir
ELI_He9992 天前
Neo4j 安装 APOC
neo4j
綮地3 天前
Neo4j 基本处理
neo4j
lzp07913 天前
Neo4j图数据库学习(二)——SpringBoot整合Neo4j
数据库·学习·neo4j
爱折腾的小码农3 天前
neo4j数据库桌面管理工具
数据库·neo4j
Wenhao.7 天前
Docker 安装 neo4j
docker·容器·neo4j
RDCJM8 天前
Neo4j图数据库学习(二)——SpringBoot整合Neo4j
数据库·学习·neo4j
机器不学习我也不学习10 天前
TensorFlow环境安装
neo4j
码农老李11 天前
vxWorks7.0 Simpc运行tensorflow lite example
人工智能·tensorflow·neo4j
小鸡吃米…1 个月前
TensorFlow 实现异或(XOR)运算
人工智能·python·tensorflow·neo4j